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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27680317/article/details/75250148

写个博客备忘用...


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

展开阅读全文

没有更多推荐了,返回首页