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
有现在有新的想法了,大家说对不对: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补位,而是直接忽略这该条数据!
与
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
上面的这个内关联,A为主表,B为附表。
用left join或right jion时如果在where中加了附表中的限制,就会成为外关联,也就是普通的两表关系查询,当附表(此处为B表)中无对应数据时,不会用NULL补位,而是直接忽略这该条数据!
YYY两边的是单引号,怎么给多换成这东东了