DISTINCT SQL Server

В этом учебном пособии вы узнаете, как использовать DISTINCT в SQL Server (Transact-SQL) с синтаксисом и примерами.

Описание

Оператор DISTINCT SQL Server (Transact-SQL) используется для удаления дубликатов из набора результатов. DISTINCT может использоваться только с операторами SELECT.

Синтаксис

Синтаксис оператора DISTINCT в SQL Server (Transact-SQL):

SELECT DISTINCT expressions
FROM tables
[WHERE conditions];

Параметры или аргументы

expressions - столбцы или вычисления, которые вы хотите получить.
tables - таблицы, из которых вы хотите получить записи. Должна быть хотя бы одна таблица, перечисленная в предложении FROM.
WHERE conditions - необязательный. Условия, которые должны быть выполнены для выбранных записей.

Примечание

  • Когда в DISTINCT предусмотрено только одно expressions, запрос возвращает уникальные значения для этого expressions.
  • Если в DISTINCT представлено более одного expressions, запрос будет получать уникальные комбинации для указанных expressions.
  • В SQL Server оператор DISTINCT не игнорирует значения NULL. Поэтому при использовании DISTINCT в вашем SQL-предложении ваш результирующий набор будет включен NULL в качестве отдельного значения.

Пример с одним выражением

Рассмотрим простейший пример SQL Server DISTINCT. Мы можем использовать SQL Server DISTINCT, чтобы вернуть одно поле, которое удаляет дубликаты из набора результатов.
Например:

Этот пример SQL Server DISTINCT возвращает все уникальные значения last_name из таблицы employees, где employee_id больше или равно 90.

Пример с несколькими выражениями

Рассмотрим, как вы можете использовать SQL Server DISTINCT для удаления дубликатов из нескольких полей в предложении SELECT.
Например:

Этот пример SQL Server DISTINCT возвращает каждую уникальную комбинацию first_name и last_name из таблицы employees, где employee_id больше или равно 30. Результаты сортируются в порядке возрастания по полю last_name.

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