一、内连接
内连接也叫自然连接同时也叫全等连接,即左边表和右边表共有数据的查询
select * from 表A a inner join 表B b on a.key = b.key;
二、左连接
左连接,即查询左边表的独有数据
select * from 表A a left join 表B b on a.key = b.key where b.key is null;
三、左外连接
左外连接,查询左边表的所有数据,即左边表独有的数据+左边和右边的共有的数据
select * from 表A a left join 表B a on a.key = b.key;
四、右连接
右连接,即查询右边表的独有数据
select * from 表A a right join 表B b on a.key = b.key where a.key is null;
五、右外连接
右外连接,查询右边表的所有数据,即右边表独有的数据+右边表和左边表共有的数据
select * from 表A a right join 表B b on a.key = b.key;
六、全连接
全连接,即左边表独数据+右边表独数据(MySQL不支持)
可用如下方式实现全连接的效果:
select * from 表A a left join 表B b on a.key = b.key where b.key is null
union
select * from 表A a right join 表B b on a.key = b.key where a.key is null;
七、全外连接
全外连接,即左边表数据+右边表数据+左边表和右边表共有数据查询(MySQL不支持)
select * from 表A a left join 表B b on a.key = b.key
union
select * from 表A a right join 表B b on a.key = b.key;