SQL之join
1. join / inner join / ,
--内连接
select * from A join B on ...;
<==>
select * from A inner join B on ...;
<==>
select * from A, B where ...;
将同时满足条件的结果查询出来(即取交集)
2. left join / left outer join
--左连接
select * from A left join B on ...;
以左边表A为准,即使on条件不满足,左边表A的数据也会被查询出来。
3. right join / right outer join
--右连接
select * from A right join B on ...
以右边表B为准,即使on条件不满足,右边表B的数据也会被查询出来。
4. full join / full outer join
--全连接
select * from A full join B on ...;
(0)2张表的数据都会被查询出来
(1)先将满足条件的记录
(2)对于不满足条件的,相对的字段用空代替---类似左/右连接
相当于:
(1)先执行:A inner join B
(2)去掉第(1)步中被查询的记录,对余下的记录,执行:A left join B 和 A right join B
(3)将第(1)步、第(2)步的结果合起来就是最终的结果
5. cross join (不能带on)
--完全连接/笛卡尔集
select * from A cross join B
<==>
select * from A, B