用左/右联系时, 如果把"关联等式"和限制条件都写到on中会怎么样?而且我不写where子句了?在这里on和where具体怎么理解?

解决方案 »

  1.   

    ON条件是可以用在一个WHERE子句形式的任何条件历史问题
      

  2.   

    SELECT * FROM A LEFT JOIN B ON A.ID=B.ID WHERE B.OTHERKEY=XXXX

    SELECT * FROM A LEFT JOIN B ON A.ID=B.ID AND B.OTHERKEY=XXXX
    是不一样的后者相当于
    SELECT * FROM A LEFT JOIN B ON A.ID=B.ID WHERE B.OTHERKEY=XXXX OR B.OTHERKEY IS NULL
      

  3.   

    写在不同的位置,得到的结果可能会不同,这一点要注意。关联条件写在on后面,限制条件写在where后面
      

  4.   

    有现在有新的想法了,大家说对不对:select * from A left join B on A.a_id=B.a_id where B.XXX='YYY'
    上面的这个内关联,A为主表,B为附表。
    用left join或right jion时如果在where中加了附表中的限制,就会成为外关联,也就是普通的两表关系查询,当附表(此处为B表)中无对应数据时,不会用NULL补位,而是直接忽略这该条数据!
      

  5.   

    'YYY '
    YYY两边的是单引号,怎么给多换成这东东了