【总结】left join 、right join、 inner join 区别,看图操作易懂

 

因为面试中被经常问到,因此整理一下,不懂的看了就懂了

建议还是操作一次,更深刻。实践最深刻。

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

举例如下: 

表table_a记录如下: 

表table_b记录如下:     

 表table_c记录如下:   

                                                                                                                                                                  

1.left join

table_a    left join   table_c
table_a    left join   table_b

结果说明:
left join是以A表的记录为基础的,A表可以看成左表,B表或者C表可以看成右表,left join是以左表为准的.
换句话说,左表(A)的记录将会全部表示出来,而右表(B)或者(C)只会显示符合搜索条件的记录,右表记录不足的地方均为NULL.

 

 

2.right join

table_   right join   table_b
table_   right join   table_b

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


3.inner join

table_a    inner join   table_b   
table_b    inner join   table_a
table_   inner join   table_c

结果说明:
很明显,这里只显示出了table_a.aid=table_b.bid(或者table_b.bid=table_a.aid    /   table_a.aid=table_c.cid)的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.

  • 15
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
左连接(left join)和右连接(right join)是关系型数据库中的两种连接方式,用于将两个或多个表中的数据进行关联查询。 左连接(left join)返回左表中的所有记录,以及右表中与左表中记录匹配的记录。如果右表中没有与左表中记录匹配的记录,则返回NULL值。 右连接(right join)与左连接相反,返回右表中的所有记录,以及左表中与右表中记录匹配的记录。如果左表中没有与右表中记录匹配的记录,则返回NULL值。 内连接(inner join)是左连接和右连接的交集,返回左表和右表中都存在的记录。 当左连接和右连接的结果相同时,可以使用内连接来替代。内连接只返回左表和右表中都存在的记录,不会返回NULL值。 例如,如果使用左连接查询学生表(stuinfo)和成绩表(score),可以得到所有学生的成绩信息,包括没有成绩的学生(NULL值)。而使用内连接查询相同的表,则只会返回有成绩的学生信息,不会返回没有成绩的学生信息。 总结起来,左连接和右连接是根据连接的方向来确定返回的记录,而内连接是根据两个表中的匹配条件来确定返回的记录。 #### 引用[.reference_title] - *1* [left join(左连接)、right join(右连接)、full join(全连接)、inner join(内连接)、cross join(笛卡尔积)...](https://blog.csdn.net/qq_39072649/article/details/104551392)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【一起来补课】一文彻底搞懂Left JoinRight JoinInner Join](https://blog.csdn.net/weixin_39615182/article/details/116422824)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值