left join 和right join 有什么区别

wangzhaoxian_ 2012-05-15 02:33:08
left join 和right join 有什么区别。在联接查询的时候怎样区分那张表是左表,那张是右表?
...全文
123 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dotar 2012-05-15
  • 打赏
  • 举报
回复
用几张表试试效果
wangzhaoxian_ 2012-05-15
  • 打赏
  • 举报
回复
谢谢各位细心的回答。
叶子 2012-05-15
  • 打赏
  • 举报
回复
左连,左边是基表。
右连,右边是基表。


--> 测试数据:@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
*/
Felixzhaowenzhong 2012-05-15
  • 打赏
  • 举报
回复

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为辅表

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧