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;

注意:显示两表的独有的数据

 

 

posted @ 2021-10-01 22:20  木有呂朋友  阅读(122)  评论(0编辑  收藏  举报