DISTINCT による重複の除去
DISTINCT キーワードを使用すると、SELECT ステートメントの結果から重複する行を除去できます。DISTINCT を指定しなかった場合は、重複した行を含むすべての行が返されます。たとえば、DISTINCT を指定しないで ProductInventory
のすべての製品 ID を選択すると、返されるのは 1,069 行です。
DISTINCT を指定すると、重複が除去され、一意の製品 ID のみが返されます。
USE AdventureWorks;
GO
SELECT DISTINCT ProductID
FROM Production.ProductInventory
このクエリから返されるのは 432 行です。
重要 : |
---|
DISTINCT を使ったステートメントの出力結果は、DISTINCT が適用される列または式の照合順序によって決まります。 |
DISTINCT キーワードでは、NULL 値は互いに重複値と見なされます。DISTINCT が SELECT ステートメントに含まれる場合、NULL はいくつあっても結果には 1 つしか返されません。
メモ : |
---|
SQL-92 規格に準拠し、Microsoft SQL Server 2005 の他のシステムとの互換性を保つ場合は、ALL キーワードを使用してすべての行を明示的に要求できます。ただし、ALL は既定値なので指定する必要はありません。 |