Обычно, когда NULL
участвует в любом уравнении, тогда весь результат разрешается в NULL
(например, SELECT 2 + NULL + 5
возвращает NULL
)
То же самое имеет место для следующего случая:
SELECT SUM(NULL)
возвращает NULL
. Proposition #1
Что происходит, когда SUM
используется для агрегирования столбца, и столбец может также содержать значения NULL
?
Основываясь на Proposition #1
, почему вывод не приводит к NULL
.
CREATE TABLE t (age INT NULL);
INSERT INTO t (age) VALUES (15),(20), (NULL), (30), (35);
SELECT
SUM(age)
FROM t;
Выход: 100
Но я ожидал NULL
.
В этом случае MySQL молча пропускает эти значения NULL?