以下SQL查询中的NULL计数时间



我遇到了两个查询,并认为这两个查询的含义会导致相同的答案。然而,如果由于NULL,答案似乎是错误的。。但我不确定这两个结果会有什么不同。

查询A

select count(*)
from person
where person.height < 156 or person.height => 156;

查询B

select count(*)
from person;

我知道select count(*(的意思是在计算NULL的同时进行打印。然而,我不确定在给定where条件的情况下是否会有任何不同。

如果person.height列中有null,那么第一个查询将不会计算这些行。

这是因为null是一个标志,而不是一个值,因此它不能为任何值比较运算符返回true。因此,它既不大于,也不小于,也不等于任何东西(包括另一个null(。裸null唯一可以返回TRUE的测试是类似person.height IS NULL的测试。

相关内容

  • 没有找到相关文章

最新更新