为什么不在SQL中的IN运算符也过滤掉空值?

为什么不在SQL中的IN运算符也过滤掉空值?,sql,Sql,我有这样一个SQL查询: select * from table where name not in ("Ram", "Lakshman", "Sita") 我有这个表格,我在上面运行选择: 名称 薪水 地址 100000 美国广播公司。 内存 200000 CDE。 300000 DEF。 几乎任何与NULL的比较都会返回NULL,在WHERE子句中被视为“false”。这就是SQL的工作原理。您需要了解NULL。哦,当然可以,

我有这样一个SQL查询:

select * 
from table 
where name not in ("Ram", "Lakshman", "Sita")
我有这个表格,我在上面运行
选择

名称 薪水 地址 100000 美国广播公司。 内存 200000 CDE。 300000 DEF。
几乎任何与
NULL
的比较都会返回
NULL
,在
WHERE
子句中被视为“false”。这就是SQL的工作原理。您需要了解
NULL
。哦,当然可以,谢谢。任何
NULL
的使用都需要被理解为
未知
-这样就很有意义了,因为您无法知道未知值不在您的数据集中,因为它是
未知