MySQL七种join理论
以上7种join,从左到右从上到下分别是左连接、右连接、左连接之后去除共有部分、内连接、右连接之后去除共有部分、全连接、全连接之后去除共有部分
1. 内连接
select * from A inner join B where A.key=B.key;
注意:内连接(两表的共有部分)
2. 左连接
select * from A left join B on A.key=B.key where B.key is null;
注意:左连接(左表的全部,右表不满足补NULL)
3. 右连接
select * from A right join B on A.key=B.key where A.key is null;
注意:右连接(右表的全部,左表不满足的补NULL)
4. 左外连接
select * from A left join B on A.key=B.key;
注意:特殊的左连接,(显示为左表的独有的数据)
5. 右外连接
select * from A right join B on A.key=B.key
注意:特殊的右连接(显示为右表的独有的数据 )
6. 全外连接
select * from A left join B where A.key=B.key union select * from A right join B where A.key=B.key;
注意:全连接(显示全部数据)(mysql 不支持 full outer join)
7. 两表独有的数据集
select * from A left join B on A.key=B.key where B.key is null
union
select * from A right join B on A.key=B.key where A.key is null;
注意:显示两表的独有的数据