MySQL中的七种join理论

1、左连接(得到左表的全部数据)

select * from A left join B on A.key=B.key;

2、右连接(得到右表的全部数据)

select * from A right join B on A.key=B.key;

3、内连接(得到交集部分数据)

select * from A inner join B on A.key=B.key;

4、仅在左表的数据

select * from A left join B on A.key=B.key where B.key is null;

5、仅在右表的数据

select * from A right join B on A.key=B.key where A.key is null;

6、除去交集以外部分的数据(仅在A,或者仅在B的数据之和)

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;

7、两表的全部数据

select * from A left join B on A.key=B.key 
union
select * from A right join B on A.key=B.key;

(union具有合并、去重的功能;如果不想去重,则写成union all)

你可能感兴趣的:(MySQL)