原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处
上章通过左联查询出了学生,列表以及学生所在的班级,用右联也是可以得到同样的效果的:
SELECT s.id sid, s.name sname, s.gender sgender,s.stu_no sno,c.name cname FROM student s RIGHT JOIN class c ON s.class_id = c.id;
咋一看,感觉和左联没有啥区别,其实左联和右联的区别就是左联ON左边的表拼接在左边,数据以左边数据为主,右边表格不满足的为null,右联ON右边的表拼接在右边,数据以右边表的数据为主,左边表格不满足的数据为null。
新增几个数据,测试一下:
左联:
SELECT * FROM student s LEFT JOIN class c ON s.class_id = c.id;
右联:
SELECT * FROM student s RIGHT JOIN class c ON s.class_id = c.id;
如果把左右表的位置交换一下:
左联:
SELECT * FROM class c LEFT JOIN student s ON s.class_id = c.id;
右联:
SELECT * FROM class c RIGHT JOIN student s ON s.class_id = c.id;
嗯,就这样。