Какой набор строк вернёт условие WHERE is_active = true AND NOT (country = 'RU' AND age > 25)?
AАктивных пользователей из России старше 25 лет, у которых есть подписка на сервис компании
BВсех пользователей из России независимо от статуса активности и независимо от их возраста
CАктивных пользователей не из России или активных пользователей из России в возрасте 25 лет и младше
DНеактивных пользователей из России, а также всех пользователей младше 25 лет из любой страны
Правильный ответ.
NOT инвертирует выражение в скобках: NOT (A AND B) эквивалентно NOT A OR NOT B по закону де Моргана.Разбор
Условие разбирается так: is_active = true — берём только активных. Далее NOT (country = 'RU' AND age > 25) по закону де Моргана превращается в country <> 'RU' OR age <= 25. Итого: активные пользователи, которые либо не из России, либо из России, но возрастом 25 лет и младше. Активный пользователь из России в возрасте 30 лет под условие не попадёт.
Проверь себя · 1/3разбор после ответа
Вы сортируете товары по величине скидки
discount по убыванию. Поле discount может быть NULL (скидки нет). Чтобы товары без скидки всегда оказывались внизу независимо от настроек СУБД, какой вариант сортировки выбрать?Ещё вопросы по теме «Основы SQL-запросов»
- В таблице `users` нужно выбрать только активных пользователей из России или Казахстана. Какой `WHERE` соответствует требованию?
- Для отчёта по регистрациям нужны только идентификатор пользователя `user_id` и дата `signup_at` из таблицы пользователей. Какой запрос лучше соответствует задаче и не тянет лишние поля?
- Нужно получить 20 самых новых событий из таблицы `events` (по времени `event_time`) и показать их в выдаче сверху. Какой запрос верный?
- Вы строите выдачу «последние заказы» и используете `LIMIT 50`. Поле `created_at` не уникально (много заказов в одну секунду). Какой `ORDER BY` лучше, чтобы порядок был детерминированным?
- Что можно корректно утверждать про результат запроса `SELECT user_id FROM users LIMIT 10`, если в нём нет `ORDER BY`?
- Все вопросы по «Основы SQL-запросов» →