踩坑记录Mysql查询使用not in会出现意外返回空的情况

Posted 小飞快飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了踩坑记录Mysql查询使用not in会出现意外返回空的情况相关的知识,希望对你有一定的参考价值。

mysql中查询中经常用到innot in,例如查询用户工作不再工作表中的用户:

select * user where job_no not in (select job_no from job_info)

那么就会有一个小坑小概率的出现,那就是如果job_info 表中有记录的job_no 字段是空值的话(一般不存在,就怕二般),上句Sql查询的结果就会是空记录,出现这种情况还有以下Sql:

select * user where job_no not in (null)

如果要避免此问题,就得加上不为空的判断就好了,如下:

select * user where job_no not in (select job_no from job_info where job_no is not null)

具体原因尚未可知,欢迎留言讨论

以上是关于踩坑记录Mysql查询使用not in会出现意外返回空的情况的主要内容,如果未能解决你的问题,请参考以下文章

踩坑记录Mysql查询使用not in会出现意外返回空的情况

踩坑记录Mysql查询使用not in会出现意外返回空的情况

Spring Boot 踩坑之路之 Configuration Annotation Proessor not found in classpath

springboot 踩坑之路之 Configuration Annotation Proessor not found in classpath

MySQL SELECT x FROM a WHERE NOT IN (SELECT x FROM b) - 意外结果

mysql中not in怎么使用