Middle
Ce interogare SQL trebuie scris pentru a afișa toți utilizatorii care nu au făcut nicio comandă pe tot parcursul anului?
sobes.tech AI
Răspuns de la AI
Предположим, есть две таблицы: users (с полем user_id) и orders (с полями user_id и order_date). Нужно вывести всех пользователей, которые не делали заказ за весь год (например, 2023).
Пример SQL-запроса:
SELECT u.*
FROM users u
LEFT JOIN orders o ON u.user_id = o.user_id
AND o.order_date BETWEEN '2023-01-01' AND '2023-12-31'
WHERE o.user_id IS NULL;
Логика:
- Левое соединение
LEFT JOINсвязывает пользователей с их заказами за указанный год. - В условии
WHERE o.user_id IS NULLвыбираются только те пользователи, у которых нет заказов в этом периоде.
Таким образом, запрос возвращает всех пользователей без заказов за весь год.