14.联表查询-右联

  • • 发表于 6年前
  • • 作者 大妖怪
  • • 10431 人浏览
  • • 1 条评论
  • • 最后编辑时间 6年前
  • • 来自 [技 术]

原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处

上章通过左联查询出了学生,列表以及学生所在的班级,用右联也是可以得到同样的效果的:

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。

  • 右联查询的定义:首先取出表1(RIGHT JOIN右边的表格)中所有数据和表2(RIGHT JOIN左边的表格)中与表1所取数据相对应的所有数据,合成新的表格,没有数据则显示NULL。表2的数据为主,并显示在合成表格的右边。

新增几个数据,测试一下:

左联:

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;

嗯,就这样。

分享到:
1条评论
Ctrl+Enter
作者

大妖怪

大妖怪

APP:1 帖子:76 回复:200 积分:7517

已加入社区[2825]天

梦里巷口,可有你倚门回首

作者详情》
Top