三个表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连接

解决方案 »

  1.   

    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;你的第二个写法没见过
      

  2.   

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

  3.   

    select * from (A inner join B on A.id = B.id) inner join on B.id = C.id这个sql的写法有问题。
      

  4.   

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

  5.   

    楼主写的两个SQL语句没有任何区别,包括执行过程和执行结果。
      

  6.   

    1.这两条SQL如果用inner join没有任何区别
    2.如果存在左,右链接的话,括号的作用就有用处了