Что делает оператор DISTINCT в SELECT-запросе?
AСортирует строки по выбранным столбцам и возвращает их в упорядоченном виде
BУдаляет строки, в которых все выбранные столбцы содержат
NULL-значенияCУбирает повторяющиеся строки из результата по набору выбранных столбцов
DГруппирует строки по выбранным столбцам и считает по ним агрегаты
Правильный ответ.
DISTINCT оставляет только уникальные комбинации выбранных столбцов в результате запроса.Разбор
DISTINCT применяется ко всем выбранным колонкам и оставляет в результате только уникальные комбинации значений. Часто эквивалентен GROUP BY по тем же колонкам, если не используются агрегаты. Сортировку он не выполняет — порядок строк не гарантирован, для него нужен ORDER BY. И NULL он не удаляет: повторяющиеся NULL сворачиваются в одну строку, как и любые другие повторы.
Проверь себя · 1/3разбор после ответа
В таблице пользователей есть колонка
middle_name, в которой часто хранится NULL. Что вернёт выражение COUNT(middle_name)?Ещё вопросы по теме «Агрегация, GROUP BY и HAVING»
- Что делает оператор `HAVING` в SQL-запросе с группировкой?
- Есть таблица `orders(user_id, amount)`. Какой запрос посчитает сумму всех заказов по каждому пользователю?
- Нужно посчитать сумму оплаченных заказов по каждому пользователю. В таблице `orders` есть поля `user_id`, `amount`, `status`. Какой запрос корректен и наиболее эффективен?
- В таблице пользователей есть колонка `middle_name`, в которой часто хранится `NULL`. Что вернёт выражение `COUNT(middle_name)`?
- Нужно получить количество заказов по паре (`user_id`, `status`) из таблицы `orders`. Какой запрос верный?
- Все вопросы по «Агрегация, GROUP BY и HAVING» →