MySQL的七種 join 連接

一、內連接

內連接也叫自然連接同時也叫全等連接,即左邊表和右邊表共有數據的查詢

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 a.key is null
union
select * from  表A a  right join  表B b  on  a.key = b.key where b.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;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章