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)