出处:菜鸟教程SQL
关于两张表的连接查询总而言之可以用下面这张图概况
下面解读一下,加深记忆
首先先看一下,红色区域是我们需要查询的数据,白色区域是不需要的部分
1和2,3和4其实就是简单的左连接,右连接查询
#1和2
select *
from tableA A left join TableB B
on A.key=B.key
这个就是左连接,最简单的记忆方式就是A在join左边,就是左连接,而且左边的表不管有没有匹配右边的表,都会展示所有数据,同理,右连接就是在右边嘛
#3和4
select *
from tableA A left join TableB B
on A.key=B.key
where B.key is null
5:取交集就是简单的join,或者inner join
select *
from tableA A join TableB B
on A.key=B.key
#或者
select *
from tableA A inner join TableB B
on A.key=B.key
至于6,7,关键就是OUTER JOIN,具体图上都有
然后发现自己对于sql总是不理解的话,就需要搞清楚sql的执行顺序,具体看大佬链接
关于sql和MySQL的语句执行顺序(必看!!!)