← Назад ко всем вопросам

Что делает модификатор DISTINCT

1️⃣ Как кратко ответить

Модификатор DISTINCT в SQL используется для удаления дубликатов из результатов запроса, возвращая только уникальные строки.

2️⃣ Подробное объяснение темы

Модификатор DISTINCT в SQL применяется для того, чтобы исключить дублирующиеся строки из результатов запроса. Это особенно полезно, когда необходимо получить уникальные значения из столбца или комбинации столбцов в таблице базы данных.

Зачем это нужно

В реальных приложениях часто возникает необходимость анализировать данные, где важны только уникальные значения. Например, если у вас есть таблица с заказами, и вы хотите узнать, в каких городах были сделаны заказы, вам не нужны повторяющиеся названия городов. DISTINCT позволяет решить эту задачу, возвращая только уникальные города.

Как это работает

Когда вы используете DISTINCT в SQL-запросе, база данных просматривает все строки, которые соответствуют условиям запроса, и удаляет дубликаты, оставляя только уникальные строки. Это может быть применено как к одному столбцу, так и к комбинации нескольких столбцов.

Пример использования

Рассмотрим таблицу orders с данными о заказах:

order_id customer_id city
1 101 New York
2 102 Los Angeles
3 101 New York
4 103 Chicago
5 104 New York

Если мы хотим получить список уникальных городов, где были сделаны заказы, мы можем использовать следующий SQL-запрос:

SELECT DISTINCT city
FROM orders;

Объяснение кода:

  • SELECT DISTINCT city: Эта часть запроса указывает, что мы хотим выбрать уникальные значения из столбца city.
  • FROM orders: Указывает, что данные должны быть выбраны из таблицы orders.

Результат выполнения этого запроса будет следующим:

city
New York
Los Angeles
Chicago

Применение к нескольким столбцам

DISTINCT также может быть использован для получения уникальных комбинаций значений из нескольких столбцов. Например, если мы хотим получить уникальные комбинации customer_id и city, запрос будет выглядеть так:

SELECT DISTINCT customer_id, city
FROM orders;

Объяснение кода:

  • SELECT DISTINCT customer_id, city: Указывает, что мы хотим выбрать уникальные комбинации значений из столбцов customer_id и city.
  • FROM orders: Указывает, что данные должны быть выбраны из таблицы orders.

Результат выполнения этого запроса будет следующим:

customer_id city
101 New York
102 Los Angeles
103 Chicago
104 New York

Таким образом, DISTINCT помогает эффективно управлять и анализировать данные, исключая дублирующиеся записи и предоставляя только уникальные результаты.

Тема: Базы данных и SQL
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки