left join 和 right join的区别

这里拿学生表和班级表举例:

学生表:

班级表

SELECT * FROM `student`s LEFT JOIN `class` c on s.id = c.uid

通常以join关键字来区别左右

SELECT * FROM `student`s LEFT JOIN `class` c on s.id = c.uid

student 表就是左表,class就是右表,左连接,就是拿出左表中的每一条数据与右表中的数据依次对比,如果有匹配的,左右表所对应的数据返回,如果没有匹配的,依然返回左表中的数据,同时,右表数据以null填充。

返回数据的条数,与左表有关

SELECT * FROM `student`s RIGHT JOIN `class` c on s.id = c.uid

student 表就是左表,class就是右表,右连接,就是拿出右表中的每一条数据与左表中的数据依次对比,如果有匹配的,左右表所对应的数据返回,如果没有匹配的,依然返回右表中的数据,同时,左表数据以null填充。

返回数据的条数,与右表有关

猜你喜欢

转载自blog.csdn.net/Forever_and_ever/article/details/83860444