搜索 | 会员  
SQL Server数据库之left join 、right join 和 i
来源: CSDN博客   作者:xwdpepsi  日期:2017-3-29  类别:数据库  主题:MS-SQL  编辑:情癫大圣
leftjoin(左联接)返回包括左表中的所有记录和右表中联结字段相等的记录rightjoin(右联接)返回包括右表中的所有记录和左表中联结字段相等的记录innerjoin(等值连接)只返回两个表中联结字段相等的

这里先给出一个官方的解释:

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行

是不是看的有点晕,那下面我们就自己试验吧
第一步:建库建表的过程我就省略了,
因为昨天的测试有一些简单的代码,就直接在上面稍做修改进行测试,下面插入一点测试数据

Insertinto Table1 values (1,'姚羽')  

Insertinto Table1 values (2,'边兵兵')  

Insertinto Table1 values (3,'袁磊')  

Insertinto Table1 values (5,'传智博客')  

Insertinto Table2 values (1,'姚羽')  

Insertinto Table2 values (2,'柳春平')  

Insertinto Table2 values (3,'张永超')  

Insertinto Table2 values (4,'刘华健')  

Insertinto Table1 values (1,'姚羽')  

Insertinto Table1 values (2,'边兵兵')  

Insertinto Table1 values (3,'袁磊')  

Insertinto Table1 values (5,'传智博客')  

Insertinto Table2 values (1,'姚羽')  

Insertinto Table2 values (2,'柳春平')  

Insertinto Table2 values (3,'张永超')  

Insertinto Table2 values (4,'刘华健')  


查询出原表的数据如下:


blob.png


我们对比两个table 发现,Table1 中的数据编号分别为1、2、3、5,而Table12中的数据编号分别为1、2、3、4,也就是说两个表中,只有最后一条数据不一样,分别为Table1中id为5的“传智播客”和Table2中id为4的“刘华健”是对应不上的。

好,我们继续...

第二步:执行left join 的效果

blob.png

结果说明:

left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.

换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.id = B.id).

B表记录不足的地方均为NULL.

第三步:执行right join 的效果

view plaincopy to clipboardprint?

Select * from Table1 A  

right join Table2 B  

on A.id = B.id  

[sql] view plain copy print?

Select * from Table1 A  

right join Table2 B  

on A.id = B.id  

(所影响的行数也为 4 行)

结果说明:

仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.

第四步:执行inner join 的效果

view plaincopy to clipboardprint?

Select * from Table1 A  

inner join Table2 B  

on A.id = B.id  

[sql] view plain copy print?

Select * from Table1 A  

inner join Table2 B  

on A.id = B.id  

结果说明:

很明显,这里只显示出了 A.id = B.id的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.

好了,到此为止,总算弄清楚这两者之间的区别了,

数据库是软件开发的核心和基础,一定要学好,加油william


德仔网尊重行业规范,每篇文章都注明有明确的作者和来源;德仔网的原创文章,请转载时务必注明文章作者和来源:德仔网;
头条那些事
大家在关注
广告那些事
我们的推荐
也许感兴趣的
干货
了解一下吧