15.联表查询-内联

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

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

内联也可以的到上章同样的效果:

SELECT s.id sid, s.name sname, s.gender sgender,s.stu_no sno,c.name FROM class c JOIN student s ON c.id = s.class_id;

SELECT s.id sid, s.name sname, s.gender sgender,s.stu_no sno,c.name FROM class c inner JOIN student s ON c.id = s.class_id;

SELECT s.id sid, s.name sname, s.gender sgender,s.stu_no sno,c.name FROM class c cross JOIN student s ON c.id = s.class_id;

上述三种写法是一样的都是内联,内联查询使用关键字JOIN或CROSS JOIN 或 INNER JOIN,最常用的还是INNER JOIN。
除了这三种,还有一种比较简单的写法:

SELECT s.id sid, s.name sname, s.gender sgender,s.stu_no sno,c.name FROM class c,student s WHERE c.id = s.class_id;


据说这种写法的运行效率要比上面三种低很多,所以一般不怎么用它。

内联理解起来比左右联更简单,就是把两个表中,class的id和student的class_id都存在并且两个相等的数据连接成一条数据。因此在数据库中有前面两种连接有部分为null的数据这一整行都没有了。

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

大妖怪

大妖怪

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

已加入社区[2943]天

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

作者详情》
Top