mysql 重新整理——七种连接join连接[六]

前言

总结一下其中join连接。

正文

又到了盗图时刻:

上面标记好了顺序。

第一种:

select * from A a left join B b on a.key=b.key

这里解释一下,这里就是A B 之间用A key 去做笛卡尔积,以左边A为主。

第二种:

select * from A a right join B b on a.key=b.key

这就是反过来了。

第三种:

其实就是去匹配B.key中在A.key不存在。

也就是说A.key 匹配不到B的部分,由于原来会返回null,现在只需去掉null的部分即可。

select * from A a left join B b on a.key=b.key where b.key is null

其实就是在第一种的基础上,查询出来增加条件而已。

第四种:

select * from A a right join B b on a.key=b.key where a.key is null

第五种:

select * from A a inner join B b on a.key=b.key

继续盗图:

第六种:

select * from A a full join B b on a.key=b.key

第七种:

select * from A a full join B b on a.key=b.key where(a.key!=null&&b.key is null) || (b.key!=null&&a.key is null)

原文地址:https://www.cnblogs.com/aoximin/p/12994754.html