SQL中left join、right join、inner join等的区别

一张图可以简洁明了的理解出left join、right join、join、inner join的区别:

SQL中left join、right join、inner join等的区别_第1张图片

1、left join

就是“左连接”,表1左连接表2,以左为主,表示以表1为主,关联上表2的数据,查出来的结果显示左边的所有数据,然后右边显示的是和左边有交集部分的数据。

2、right join

“右连接”,表1右连接表2,以右为主,表示以表2为主,关联查询表1的数据,查出表2所有数据以及表1和表2有交集的数据。

3、inner join

inner join,其实就是“join”,两个是表示一个的,内连接,表示以两个表的交集为主,查出来是两个表有交集的部分,其余没有关联就不额外显示出来。

inner join和left join区别为:返回不同、数量不同、记录属性不同。
 
一、返回不同
 
1、inner join(等值联接):inner join只返回两个表中联结字段相等的行。
2、left join:left join返回包括左表中的所有记录和右表中联结字段相等的记录。
3、right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
 
二、数量不同
 
1、inner join:inner join的数量小于等于左表和右表中的记录数量。
 
2、left join:left join的数量以左表中的记录数量相同。
 
3、right join:right join的数量以右表中的记录数量相同。
 
三、记录属性不同
 
1、inner join:inner join不足的记录属性会被直接舍弃。
 
2、left join:left join不足的记录属性用NULL填充.。(right join 一样)

你可能感兴趣的:(SQL,sql,数据库)