SQL 连接(JOIN)

SQL join 用于把来自两个或多个表的行结合起来。

下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。(图是在菜鸟教程上找的)

首先准备两张表 

employee表

department表

 

INNER JOIN (常用JOIN语句)

inner语句会从多个表中返回满足 JOIN 条件的所有行。

SELECT * FROM tbl_employee e INNER JOIN tbl_department d on e.d_id = d.id;

LEFT JOIN

​​SELECT * FROM tbl_employee e LEFT JOIN tbl_department d on e.d_id = d.id;

LEFT JOIN 会把左表全部查询出来 即使右表中没有匹配,也从左表返回所有的行;

RIGHT JOIN

SELECT * FROM tbl_employee e RIGHT JOIN tbl_department d on e.d_id = d.id;

RIGHT JOIN 会把右表表全部查询出来 即使左表中没有匹配,也从右表返回所有的行

FULL JOIN

mysql 不支持FULL JOIN 实际上就是把两表都查询出来,

只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.

如果 "tbl_employee" 表中的行在 "tbl_department" 中没有匹配或者 "tbl_department" 表中的行在 "tbl_employee" 表中没有匹配,也会列出这些行。

猜你喜欢

转载自blog.csdn.net/weixin_42236404/article/details/87266482