Middle
Koji SQL upit treba napisati da bi se prikazali svi korisnici koji nisu napravili narudžbu tokom cele godine?
sobes.tech АИ
Одговор од АИ
Предположим, есть две таблицы: 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выбираются только те пользователи, у которых нет заказов в этом периоде.
Таким образом, запрос возвращает всех пользователей без заказов за весь год.