SQL左连接和右连接原理及实例解析

两张表,A表中的记录B表中不一定有。

  • 左连接:关注左边,右边没有就为空。
  • 右连接:关注右边,左边没有就为空。
  • 内连接:返回交集

例如:

student表s

id name age class_id
1 yang 22 1
2 su 20 1
3 fan 20 2
4 li 30 2
5 luo 22

class表c

id name total
1 大一 30
2 大二 15
3 大三 40

在上面的表中,s表中的5号记录在c表中是找不到数据的。

1.左连接,left join左边为主要表,次表没有对应的就显示NULL。

SELECT s.`name`,s.`class_id` FROM student s LEFT JOIN class c ON s.`class_id`=c.`class_id`

结果


name class_id
yang 1
su 1
fan 2
li 2
luo (NULL)

2.右连接,right jion右边为主要表,次表没有对应的就显示NULL。

SELECT s.`name`,s.`class_id` FROM student s RIGHT JOIN class c ON s.`class_id`=c.`class_id`

结果


name class_id
yang 1
su 1
fan 2
li 2
(NULL) (NULL)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。