踩坑记录Mysql查询使用not in会出现意外返回空的情况
Posted 小飞快飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了踩坑记录Mysql查询使用not in会出现意外返回空的情况相关的知识,希望对你有一定的参考价值。
在mysql中查询中经常用到in 和not 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