Ключевое слово DISTINCT используется в сочетании с SELECT, чтобы устранить все дубликаты записей и выборку только уникальных записей.
Там может быть ситуация, когда у вас есть несколько дублирующих записей в таблице. Выборка таких записей, имеет смысл, чтобы показать только уникальные записи вместо выборки повторяющихся записей.
Базовый синтаксис ключевого слова DISTINCT, чтобы устранить дублирующие записи выглядят следующим образом:
SELECT DISTINCT column1, column2,.....columnN FROM table_name WHERE [condition]
Рассмотрим таблицу клиентов, имеющих следующие записи:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Maxim | 35 | Moscow | 21000.00 | | 2 | AndreyEx | 38 | Krasnodar | 55500.00 | | 3 | Oleg | 33 | Rostov | 34000.00 | | 4 | Masha | 35 | Moscow | 34000.00 | | 5 | Ruslan | 34 | Omsk | 45000.00 | | 6 | Dima | 32 | SP | 45000.00 | | 7 | Roma | 34 | SP | 10000.00 | +----+----------+-----+-----------+----------+
Во-первых, давайте посмотрим, как следующий запрос SELECT возвращает повторяющиеся записи заработной платы.
SQL> SELECT SALARY FROM CUSTOMERS ORDER BY SALARY;
Это произведет следующий результат, где зарплата (34000 и 45000) приходит дважды, дублирует записи из исходной таблицы.
+----------+ | SALARY | +----------+ | 21000.00 | | 55000.00 | | 34000.00 | | 34000.00 | | 45000.00 | | 45000.00 | | 10000.00 | +----------+
Теперь, давайте используем ключевое слово DISTINCT с указанным запросом SELECT, а затем увидим результат.
SQL> SELECT DISTINCT SALARY FROM CUSTOMERS ORDER BY SALARY;
Это произведет следующий результат, где у нас нет каких-либо повторяющихся записей.
+----------+ | SALARY | +----------+ | 21000.00 | | 55000.00 | | 34000.00 | | 45000.00 | | 10000.00 | +----------+