首页 > 数据库技术 > 详细

MYSQL not in子连接查询不到值的问题

时间:2015-07-13 11:39:22      阅读:292      评论:0      收藏:0      [点我收藏+]

前几天在项目中,做数据导入时,发现not in和in 查出来的条数不互补。ATABLE2明明中有些记录在ATABLE3中不存在,但是not in时查不出记录。 

CREATE TABLE ATABLE2
   ( "MRID" VARCHAR2(20 BYTE)
   )

CREATE TABLE ATABLE3"
   ( "MRID" VARCHAR2(20 BYTE)
   )

查询语句如下

select count(*) from atable2 where mrid not in (select mrid from atable3),查询结果为0。

经过几番检查,发现的not in 和null的问题。atable3表中存在mrid为null的记录,此时not in 查询不到值。

修改方案如下:在子查询中增加非空过滤

select count(*) from atable2 where mrid not in (select mrid from atable3 where mrid is not null)

完毕!

ps:count统计函数对null值也不适用,需用count(*).

 

MYSQL not in子连接查询不到值的问题

原文:http://www.cnblogs.com/jkgyu/p/4642285.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!