Why does this query always return NULL?
为什么这个查询总是返回NULL?
SELECT (Supervisor IS NULL) = (Supervisor = NULL) FROM Salespeople
is it because we specify the second half with equal to null ?
是因为我们指定后半部分等于null?
1 个解决方案
#1
2
Supervisor IS NULL
returns TRUE
or FALSE
.
Supervisor IS NULL返回TRUE或FALSE。
Supervisor = NULL
always returns NULL
.
Supervisor = NULL始终返回NULL。
Thus, TRUE = NULL
or FALSE = NULL
will always return NULL
.
因此,TRUE = NULL或FALSE = NULL将始终返回NULL。
That's why your query will return NULL
rows whose count will be the total row-count of your table.
这就是为什么你的查询将返回NULL行,其行数将是表的总行数。
#1
2
Supervisor IS NULL
returns TRUE
or FALSE
.
Supervisor IS NULL返回TRUE或FALSE。
Supervisor = NULL
always returns NULL
.
Supervisor = NULL始终返回NULL。
Thus, TRUE = NULL
or FALSE = NULL
will always return NULL
.
因此,TRUE = NULL或FALSE = NULL将始终返回NULL。
That's why your query will return NULL
rows whose count will be the total row-count of your table.
这就是为什么你的查询将返回NULL行,其行数将是表的总行数。