sql server中LEFT INNER RIGHT JOIN的使用情况

left join , 左边表为基础, 扫描右边表匹配的记录.将返回左表的所有行。如果左表的某行在右表中没有匹配行,则将为左表返回空值

right join , 右边表为基础, 扫描左边表匹配的记录。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值

 

有两表a和b,前两字段完全相同:(id int,name varchar(10)...)

  declare   @a   table(id int,name varchar(10))  
  insert   @a   Select  '1','a'  
 union   select  '2','b'  
 union   select  '33','d'  
 union   select  '44','e'  

  declare   @b   table(id int,name varchar(10))  

  insert   @b   select  '1','a'  
 union   select  '2','b'  
 union   select  '55','d'  
 union   select  '66','e' 


 select * from @a as a inner join @b as b on a.id = b.id --内連接
1 a 1 a 
2 b 2 b

select * from @a as a full  join @b as b on a.id = b.id --全連接
1 a 1 a 
2 b 2 b 
NULL NULL 55 d 
NULL NULL 66 e 
44 e NULL NULL 
33 d NULL NULL 

select * from @a as a left  join @b as b on a.id = b.id --右連接
1 a 1 a 
2 b 2 b 
44 e NULL NULL 
33 d NULL NULL 

select * from @a as a right join @b as b on a.id = b.id --右連接
1 a 1 a 
2 b 2 b 
NULL NULL 55 d 
NULL NULL 66 e

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值