Если в таблице orders нет ни одной записи, что вернёт SELECT SUM(amount) FROM orders;?

Если в таблице orders нет ни одной записи, запрос SELECT SUM(amount) FROM orders; вернёт NULL, а не 0. Это связано с тем, что агрегатные функции, такие как SUM, возвращают NULL, если нет строк для агрегации.

Короткий ответ

Что ответить на собеседовании

Если в таблице 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;

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее