MySQL left join on 左表连接字段为null的返回结果

来源:互联网 发布:装修软件哪个好 编辑:程序博客网 时间:2024/06/06 09:51

写个博客备忘用...


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

原创粉丝点击