目录
数据库建表及其内容
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