SQL Server:如何选择不在表中的值?

时间:2017-03-22 14:22:42

标签: sql sql-server tsql

我的表格如下:

ID    |  NAME
1     | name1
2     | name2
NULL  | name3
3     | name4

对于我希望那些不在列表中的客户列表,如下所示:

SELECT c.* 
FROM CUSTOMERS c 
WHERE c.ID NOT IN (1,3)

但是这个查询没有给出所有想要的行,因为我想看到空值。

谢谢你们

2 个答案:

答案 0 :(得分:2)

在这种情况下,Tom J Muthirenthi是正确的NULL值需要单独处理。

这项工作恰到好处:

SELECT c.* FROM CUSTOMERS c WHERE c.ID NOT IN (1,3) OR c.ID IS NULL

答案 1 :(得分:0)

您发布的查询应该可以在T-SQL中正常使用。

以下是官方参考:https://msdn.microsoft.com/en-us/library/ms177682.aspx

问题可能是表的可见性而不是查询本身?