写个博客备忘用...
MySQL 左连接(右连接类似)查询,例 select * from A left join B on A.id = B.id where...
A表是会返回所有符合where条件的记录,B表不满足A.id=B.id的记录则不会返回(同时B也要满足where条件)
如果B的连接字段id本身为null,那么视为不满足on的条件,不返回该条记录。
那么如果A的连接字段A.id也为null,是否可以达到返回B.id为null的记录呢?(直觉上两者都是null不是相等么?)
测试后,发现A.id为null时,会返回A的这条记录,但是连接的B.id为null的相关记录仍不会返回。即联合查询出来的A.* + B.*结果中 B.*全为null,即便B.id有多个为null的记录,A也只返回一条。
所以,在MySQL的联表查询时,null≠null