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 A right join B

(3)将第(1)步、第(2)步的结果合起来就是最终的结果

 

 

 

5. cross join         (不能带on

--完全连接/笛卡尔集

select * from A cross join B

<==>

select * from A, B

 

posted on 2010-09-02 13:56  TroyZ  阅读(249)  评论(0编辑  收藏  举报