标签: sql
我想我不完全理解SQL中NULL的含义。我运行这个SQL,我希望看到1作为输出,但我没有看到:
balance
Isn&n = NULL和-1不同?任何人都可以解释为什么这个" NULL<>的子句-1"是假的吗?
答案 0 :(得分:0)
NULL不是值,因此无法与任何其他值进行比较,并获得除null之外的任何其他结果。 Docs。并how比较空值。
答案 1 :(得分:0)
NULL意味着未知。因此,使用where NULL <> -1,您想知道未知值是否等于-1。 DBMS当然不知道,因此表达式的结果既不是TRUE也不是FALSE;它是NULL。
NULL
where NULL <> -1
TRUE
FALSE
仅选择WHERE子句导致TRUE的行。由于您的表达不会导致TRUE,但在NULL中,则不会选择任何行。
WHERE