Это тот случай, когда одно, но не оба значения равны NULL
.
Итак, рассмотрим:
a b
1 1
2 NULL
NULL 3
Тогда sum(a) + sum(b)
- это сумма: (1 + 2)
и (1 + 3)
= 7. NULL
игнорируется.
Однако sum(a + b)
- это сумма:
(1 + 1)
(2 + NULL)
(NULL + 3)
Это оценивает:
2
NULL
NULL
NULL
s игнорируются, поэтому результат равен 2.
Другими словами, SUM()
игнорирует NULL
значения, а +
- нет.