SQL 中 not in 查询不到数据问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 中 not in 查询不到数据问题相关的知识,希望对你有一定的参考价值。
在开发的过程中,遇到过not in 始终查询不到数据问题
select * from T_CustomerInfo where CustomerID not in (select CustomerID from T_OrderInfo)
后来使用not exists查询
select * from T_CustomerInfo a where not exists (select CustomerID from T_OrderInfo where CustomerID=a.CustomerID)
数据全部都查询出来了
查看数据,发现T_OrderInfo表中有一条数据中CustomerID为null
进行修改
select * from T_CustomerInfo where CustomerID not in (select isnull(CustomerID,NEWID()) from T_OrderInfo)
这个时候就可以查询出数据
可以发现not in 遇到null就无效了
对in进行调查
select * from T_Task where ID in (select FlowID from T_TaskRecordDetail)
发现即使T_TaskRecordDetail中FlowID为null,也是可以查询出不为null的数据的
以上是关于SQL 中 not in 查询不到数据问题的主要内容,如果未能解决你的问题,请参考以下文章