读书人

请问关于联合查询的语句

发布时间: 2013-08-09 15:16:24 作者: rapoo

请教关于联合查询的语句
有两张表,通过联合查询得到查询数据,但如果另一张表中的数据删除和修改,那么查询结果的修改出就显示不出来,如何才能然修改后查询结果的某个查不到数据段显示“未定义”。
可能说的不是很清楚,上图打个比方吧
表Name:请问关于联合查询的语句
表Type:请问关于联合查询的语句
sql语句:select Name,TypeName from Name,Type where Name.TypeId=Type.TypeId
得到结果:请问关于联合查询的语句

此时如果把表Type中TypeId的3改为4,或者删除,查询的结果就变成了请问关于联合查询的语句

我想让dd也显示,但是在typename这里显示个“未定义”,请问能否做到 SQL select 联合查询
[解决办法]


select n.Name,
TypeName=case when t.TypeName IS NULL then '未定义' else t.TypeName end
from Name n
LEFT JOIN [Type] t
on n.TypeID=t.TypeID

/*
Name TypeName
aa猫
bb猫
cc狗
dd未定义
*/

[解决办法]
如果两边的数据都要是用FULL OUTER JOIN

读书人网 >SQL Server

热点推荐