27,579
社区成员
发帖
与我相关
我的任务
分享
create table depart(depid int,depname nvarchar(10))
insert into depart select 11,'aa' union all select 13,'bb' union all select 14,'cc' union all select 21,'dd'
create table infoto(infoid int,depid int,toname nvarchar(10))
insert into infoto select 14,11,'aaaaa' union all select 14,21,'ddddd'
go
select a.DepName,b.ToName from Depart a left outer join InfoTo b on a.DepId=b.DepId and a.DepId in (11,13,14,21) and b.InfoId=14
/*
DepName ToName
---------- ----------
aa aaaaa
bb NULL
cc NULL
dd ddddd
(4 行受影响)
*/
go
drop table depart,infoto
select a.DepName,b.ToName from Depart a left outer join InfoTo b on a.DepId=b.DepId and a.DepId in (11,13,14,21) and b.InfoId=14
select a.DepName,b.ToName
from Depart a
left outer join InfoTo b on a.DepId=b.DepId and b.InfoId=14
where a.DepId in (11,13,14,21)
select isnull(a.DepName,b.DepName) DepName , isnull(a.ToName,b.ToName) ToName
from a full join b
on a.DepName = b.DepName
select
a.DepName,isnull(b.ToName ,'')
from
Depart a
full join
InfoTo b
on
a.DepId=b.DepId
where
a.DepId in (11,13,14,21) and b.InfoId=14
select a.DepName,b.ToName
from Depart a left outer join InfoTo b on a.DepId=b.DepId and a.DepId in (11,13,14,21) and b.InfoId=14