mysql的4种join
1、内连接(inner join 可简写为join)
就是交集,也就是两张表的共同数据
select * from a [inner] join b on a.key = b.key
2、左外连接
从集合上看就是A,B的交集加上A的私有
select * from a left join b on a.key = b.key
3、右外连接
从集合上看就是A,B的交集加上B的私有
select * from a right join b on a.key = b.key
4、全外连接
从集合上看:就是A和B的共有+A的私有+B的私有 (AB全有)
select * from a full outer join b on a.key = b.key;
注意:上面的sql只在Oracle中适用,MYSQL中不支持,因此在MYSQL中想要实现全外连接,得用联合查询(union)实现
联合查询就是把两个sql语句的结果取并集
-- union:去重复值 union all:不去重复值
select * from a left join b on a.key = b.key
union
select * from a right join b on a.key = b.key