LEFT JOIN с календарём: почему пропадают дни без заказов

Отчёт должен сохранять все даты календаря, включая дни без продаж. Разберите, на каком этапе условие по правой таблице меняет состав результата.

Выберите ответ и проверьте себя. Продолжить тему можно в курсе Продвинутый SQL: сложные запросы и задачи для собеседований.

Таблица calendar содержит даты с '2024-05-01' по '2024-05-03'. В таблице orders за этот период есть ровно одна запись: '2024-05-01' на сумму 1500 руб. со статусом 'paid'. Аналитик выполняет запрос:

SELECT c.cal_date, COALESCE(o.amount, 0) AS daily_amount
FROM calendar c
LEFT JOIN orders o ON c.cal_date = o.order_date
WHERE c.cal_date BETWEEN '2024-05-01' AND '2024-05-03'
AND o.status = 'paid';

Сколько строк вернёт данный запрос и почему?

Выберите один вариант
Без регистрации · результат не сохраняется

Связанные задачи