Вопрос проверяет понимание ключевого слова DISTINCT в SQL, которое используется для исключения дублирующихся строк из результата запроса.
Ключевое слово DISTINCT — это модификатор в языке SQL, который применяется в предложении SELECT для фильтрации дублирующихся записей. Когда вы выполняете запрос, база данных может вернуть множество строк, некоторые из которых полностью идентичны по значениям выбранных столбцов. DISTINCT гарантирует, что в итоговом наборе каждая комбинация значений будет представлена только один раз.
При обработке запроса с DISTINCT СУБД выполняет сортировку или хеширование результирующих строк, чтобы сравнить их и устранить повторы. Важно понимать, что уникальность определяется по всем столбцам, перечисленным после SELECT. Например, запрос SELECT DISTINCT department, job_title FROM employees вернёт уникальные пары "отдел-должность", а не просто уникальные отделы или должности по отдельности.
Рассмотрим таблицу заказов (orders) с полями customer_id и product_id. Чтобы узнать, какие продукты вообще покупались (без учёта того, сколько раз), используем DISTINCT:
-- Получить список уникальных ID продуктов
SELECT DISTINCT product_id
FROM orders;
DISTINCT также можно комбинировать с агрегатными функциями, хотя это менее распространено. Например, чтобы посчитать количество уникальных покупателей:
SELECT COUNT(DISTINCT customer_id) AS unique_customers
FROM orders;
Вывод: DISTINCT — это базовый, но мощный инструмент для очистки результирующих данных от дубликатов. Его стоит применять, когда вам нужен список уникальных значений из одного или нескольких столбцов, но важно помнить о потенциальных затратах на производительность при работе с большими объёмами данных, так как устранение дублей требует дополнительных вычислений.