sql中的左连接和右连接

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

左连接:关注左边,右边没有就为空。
右连接:关注右边,左边没有就为空。
内连接:返回交集
例如:
student表s

idnameageclass_id
1yang221
2su201
3fan202
4li302
5luo22

class表c

idnametotal
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`

结果

nameclass_id
yang1
su1
fan2
li2
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`

结果

nameclass_id
yang1
su1
fan2
li2
(NULL)(NULL)

相关文章