为什么这个MYSQL查询返回null?

时间:2022-09-23 12:37:00

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行,其行数将是表的总行数。

fiddle.

#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行,其行数将是表的总行数。

fiddle.