一张图看懂 SQL 的各种 join 用法

一张图看懂 SQL 的各种 join 用法_第1张图片

从数学的角度看,是集合的操作。
比如有where语句的内连接,相当于取交集。
有的是 左连接 - 内连接
当然,这一切的前提是笛卡尔积

MySQL不支持OUTER JOIN(外连接),最下面的一行左边,但是有替代方案。

select * from table a A(A为别名)LEFT JOIN table b B on A.id=B.id
union
select * from table a A RIGHT JOIN table b B on A.id=B.id;

至于最下面一行右边

select * from table a A(A为别名)LEFT JOIN table b B on A.id=B.id
where B.id is null
union
select * from table a A RIGHT JOIN table b B on A.id=B.id
where A.id is null;

鸣谢:一张图看懂 SQL 的各种 join 用法

mysql 全外连接报错的原因

你可能感兴趣的:(一张图看懂 SQL 的各种 join 用法)