输出"选择1,其中NULL<> -1;"

时间:2016-09-17 18:30:59

标签: sql

我想我不完全理解SQL中NULL的含义。我运行这个SQL,我希望看到1作为输出,但我没有看到:

balance

Isn&n = NULL和-1不同?任何人都可以解释为什么这个" NULL<>的子句-1"是假的吗?

2 个答案:

答案 0 :(得分:0)

NULL不是值,因此无法与任何其他值进行比较,并获得除null之外的任何其他结果。 Docs。并how比较空值。

答案 1 :(得分:0)

NULL意味着未知。因此,使用where NULL <> -1,您想知道未知值是否等于-1。 DBMS当然不知道,因此表达式的结果既不是TRUE也不是FALSE;它是NULL

仅选择WHERE子句导致TRUE的行。由于您的表达不会导致TRUE,但在NULL中,则不会选择任何行。