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的數據的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM