原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处
内联也可以的到上章同样的效果:
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的数据这一整行都没有了。