如何将两个表连接在一起以从每个表中获取所有行,并输入NULL,而另一个表中缺少一个。
例如:
declare @t1 table (x int)
declare @t2 table (x int)
insert into @t1 select 2
insert into @t1 select 3
insert into @t1 select 4
insert into @t1 select 5
insert into @t2 select 1
insert into @t2 select 2
insert into @t2 select 5
select *
from @t1 t1
left join @t2 t2 on t2.x = t1.x
结果应如下所示:
t1.x t2.x
NULL 1
2 2
3 NULL
4 NULL
5 5
答案 0 :(得分:2)
select *
from @t1 t1
full outer join @t2 t2 on t2.x = t1.x
这就像是左连接,但是即使没有匹配也会从两个表中获取所有记录,并且在没有匹配时输入null。
答案 1 :(得分:2)
select *
from @t1 t1
FULL OUTER join @t2 t2 on t2.x = t1.x
答案 2 :(得分:2)
两个表中的所有行都以完整外部联接的形式返回。 SQL Server对FROM子句中指定的外连接使用以下ISO关键字:LEFT OUTER JOIN或LEFT JOIN。正确的外部联接或正确的联接。完全外部加入或全部加入