MySQLleftjoinon左表连接字段为null的返回结果多表left join
写个博客备忘⽤...
MySQL 左连接(右连接类似)查询,例 select * from A left join B on A.id = B.
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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论