+ -
当前位置:首页 → 问答吧 → 关于inner join

关于inner join

时间:2011-11-06

来源:互联网

三个表A,B,C,有下面两个SQL
select * from A inner join B on A.id = B.id inner join on B.id = C.id
和select * from (A inner join B on A.id = B.id) inner join on B.id = C.id
这两个SQL有区别么?
可不可以这么理解:关于第一个SQL,A的每个记录去B里面查找有没有相同的ID,然后A,B两个表连接后的表再和C连接

作者: lys0412   发布时间: 2011-11-06

SQL code
select * from A inner join B on A.id = B.id inner join C on B.id = C.id;
select * from A,B,C where A.id=B.id and B.id=C.id;


你的第二个写法没见过。。。

作者: longyi007   发布时间: 2011-11-06

关于第一个SQL,A的每个记录去B里面查找有没有相同的ID,然后A,B两个表连接后的表再和C连接
这么理解可以么?

作者: lys0412   发布时间: 2011-11-06

select * from (A inner join B on A.id = B.id) inner join on B.id = C.id

这个sql的写法有问题。

作者: lzd_83   发布时间: 2011-11-06

from后是返回表的结果集。

作者: lzd_83   发布时间: 2011-11-06

第二个改为select * from (A inner join B on A.id = B.id) inner join C on B.id = C.id

作者: lys0412   发布时间: 2011-11-06