select
a.name,
b.mmm,
c.yyy,
d.zzzz
from AAA a
  left join BBB b on a.id = b.id
  left join CCC c on b.qid = c.qid
  left join DDD d on a.xid = d.xid
where a.info = 'xxxx'这种多个左连接,AAA和BBB的话是AAA是左边的表,以AAA为主,
那么BBB和CCC是以BBB为左连接的表,还是以AAA为左连接的表???
CCC和DDD呢??? 以哪个为左连接的对象表???给讲解一下。。

解决方案 »

  1.   

    aaa为左表.左连接的sql中只能有一个左表
      

  2.   

    首先AAA为主表与BBB连接
    连接后的结果再作为主表与CCC连接
     
      

  3.   

    left join 后面的表
    right join 前面的表
    肯定是附属表
      

  4.   

    AAA和BBB连接AAA作为左表, 将AAA和BBB的结果在作为左表连接CCC。。依次这样的。。?
      

  5.   

    我觉得应该始终是以AAA为主表的。 
    左外连接的意思是, 以左表为准, left join表中有条件匹配的,将信息追加到当前行结果中。 如果没有则为NULL 值
      

  6.   

    a left join b后,ab中的任意一个字段都可以和c连接的
    这应该可以判断了吧