34,593
社区成员
发帖
与我相关
我的任务
分享
--> 测试数据:@a
declare @a table([id] int)
insert @a
select 1 union all
select 2 union all
select 3 union all
select 4
--> 测试数据:@b
declare @b table([id] int)
insert @b
select 2 union all
select 3 union all
select 4 union all
select 5
select * from @a a left join @b b on a.id=b.id
/*
id id
----------- -----------
1 NULL
2 2
3 3
4 4
*/
select * from @a a right join @b b on a.id=b.id
/*
id id
----------- -----------
2 2
3 3
4 4
NULL 5
*/
SELECT A.*,B.* FROM A LEFT JOIN B ON A.ID=B.AID
--显示A表中的所有数据,B表中AID与A表中的ID存在对应关系的记录就显示出来,否则就为NULL.
--这时A为基表。B为辅表
SELECT A.*,B.* FROM A RIGHT JOIN B ON A.ID=B.AID
--显示B表中的所有数据,A表中ID与B表中的AID存在对应关系的记录就显示出来,否则就为NULL.
--这时B为基表。A为辅表