SQL内连接,左连接,右连接区别及联系

目录

数据库建表及其内容

内连接(默认连接)

左连接

右连接 

 总结:


数据库建表及其内容

stu表

 

班级表(class)

 

内连接(默认连接)

SELECT stu.stuname , classname FROM class INNER JOIN stu ON class.id = stu.classid
SELECT stu.stuname , classname FROM class  JOIN stu ON class.id = stu.classid

其中加不加INNER结果一样

 查询结果

 

 由结果可知,内连接的作用,是将两张表满足class.id = stu.classid条件的内容显示出来,stu表中懒洋洋没有对应的班级id,无法与class表中内容匹配,所以没有显示出来,同样class表中没有人在5班所以也不显示。

左连接

SELECT stu.stuname , classname FROM class LEFT JOIN stu ON class.id = stu.classid

left是指以紧跟FROM后边的表为主表,若此表中有对应空内容同样显示

查询结果

右连接 

SELECT stu.stuname , classname FROM class RIGHT JOIN stu ON class.id = stu.classid

右连接是以JOIN后的表为主表,其中stu中懒洋洋没有对应班级,但是因为其为主表,及时为空也要显示,故得结果

查询结果

 

左连接和右连接联系:

其实左连接可以变为右连接可以相互转化,只需要交换表的位置,

例如将左连接中的例子中的 class表与stu表调换位置,可得右连接中例子的结果

SELECT stu.stuname , classname FROM stu left JOIN  class ON class.id = stu.classid

 总结:

Guess you like

Origin blog.csdn.net/weixin_56289362/article/details/121160962