Удаление повторяющихся строк с помощью ключевого слова DISTINCT

Ключевое слово DISTINCT позволяет удалить повторяющиеся строки из результатов, возвращенных инструкцией SELECT. Если ключевое слово DISTINCT не указано, возвращаются все строки, в том числе повторяющиеся. Например при выборе всех кодов товаров из таблицы ProductInventory без ключевого слова DISTINCT возвращаются 1 069 строк.

Указав ключевое слово DISTINCT, можно устранить повторы и получить только уникальные коды товаров:

USE AdventureWorks;
GO
SELECT DISTINCT ProductID
FROM Production.ProductInventory

Этот запрос возвращает 432 строки.

ms187831.note(ru-ru,SQL.90).gifВажно!
Данные, выводимые инструкциями с ключевым словом DISTINCT, зависят от параметров сортировки столбца или выражения, к которому применяется ключевое слово DISTINCT.

Если указано ключевое слово DISTINCT, значения NULL считаются повторяющимися. Если ключевое слово DISTINCT включено в инструкцию SELECT, в результат войдет только одно значение NULL независимо от того, сколько их на самом деле.

ms187831.note(ru-ru,SQL.90).gifПримечание.
Чтобы обеспечить совместимость со стандартом SQL-92 и другими реализациями Microsoft SQL Server 2005, предусмотрено ключевое слово ALL, позволяющее явно запросить все строки. Однако указывать его нет необходимости, потому что оно действует по умолчанию.

См. также

Другие ресурсы

Выражение SELECT (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005