MySQL中的交叉连接、内连接、外连接

2021-06-06  本文已影响0人  顾子豪

学生student表:


student

课程course表:


course

交叉连接:

select * from student,course;

结果为两张表的笛卡尔积:



内连接(inner join ,inner 可以省略)

SELECT * FROM A INNER JOIN B ON 条件;
SELECT * FROM A,B WHERE 条件;

显示内连接和隐示内连接获得的查询结果是一样的,都是A表和B表的交集(例:A.id = B.id),但是只能查到有关系的信息,如果A表的一条数据的与B表关联的字段没有对应的信息(如:A.id = null),即:这条数据在B表中没有对应的信息,则无法获得。

外连接(outer join,outer可以省略)

SELECT * FROM A LEFT OUTER JOIN B ON 条件;

左外连接获得的查询结果是左边的表A的全部信息和A,B两张表的交集,左边A表的全部包含A表中在B表中没有对应关系的信息。

SELECT * FROM A RIGHT OUTER JOIN B ON 条件;

右外连接获得的查询结果是右边的表B的全部信息和A,B两张表的交集,右边B表的全部包含B表中在A表中没有对应关系的信息。

上一篇 下一篇

猜你喜欢

热点阅读