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