Если в таблице orders нет ни одной записи, запрос SELECT SUM(amount) FROM orders; вернёт NULL, а не 0. Это связано с тем, что агрегатные функции, такие как SUM, возвращают NULL, если нет строк для агрегации.
Если в таблице orders нет ни одной записи, что вернёт SELECT SUM(amount) FROM orders;?
Если в таблице orders нет ни одной записи, запрос SELECT SUM(amount) FROM orders; вернёт NULL, а не 0. Это связано с тем, что агрегатные функции, такие как SUM, возвращают NULL, если нет строк для агрегации.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Если в таблице orders нет ни одной записи, что вернёт SELECT SUM(amount) FROM orders;?
0
NULL
1
Ошибка
Ответ
Если в таблице orders нет ни одной записи, запрос SELECT SUM(amount) FROM orders; вернёт NULL, а не 0. Это связано с тем, что агрегатные функции, такие как SUM, возвращают NULL, если нет строк для агрегации.
Чтобы получить 0 вместо NULL, можно использовать конструкцию с COALESCE:
SELECT COALESCE(SUM(amount), 0) FROM orders;