T-sql-distinct-clause

提供:Dev Guides
移動先:案内検索

T-SQL-DISTINCT句

MS SQL Serverの DISTINCT キーワードをSELECTステートメントと組み合わせて使用​​して、重複するレコードをすべて削除し、一意のレコードのみを取得します。

テーブルに複数の重複レコードがある場合があります。 そのようなレコードをフェッチするとき、重複レコードをフェッチするのではなく、一意のレコードのみをフェッチする方が理にかなっています。

構文

以下は、重複レコードを排除するためのDISTINCTキーワードの基本的な構文です。

SELECT DISTINCT column1, column2,.....columnN
FROM table_name
WHERE [condition]

次のレコードを持つCUSTOMERSテーブルを検討してください。

ID  NAME       AGE       ADDRESS            SALARY
1   Ramesh     32        Ahmedabad          2000.00
2   Khilan     25        Delhi              1500.00
3   kaushik    23        Kota               2000.00
4   Chaitali   25        Mumbai             6500.00
5   Hardik     27        Bhopal             8500.00
6   Komal      22        MP                 4500.00
7   Muffy      24        Indore             10000.00

次のSELECTクエリが重複する給与レコードを返す方法を見てみましょう。

SELECT SALARY FROM CUSTOMERS
   ORDER BY SALARY

上記のコマンドは、給与2000が2回来る次の出力を生成します。これは、元のテーブルからの重複レコードです。

SALARY
1500.00
2000.00
2000.00
4500.00
6500.00
8500.00
10000.00

上記のSELECTクエリでDISTINCTキーワードを使用して、結果を確認してみましょう。

SELECT DISTINCT SALARY FROM CUSTOMERS
   ORDER BY SALARY

上記のコマンドは、重複するエントリがない次の出力を生成します。

SALARY
1500.00
2000.00
4500.00
6500.00
8500.00
10000.00