SQL DISTINCT 句は、クエリ結果から重複する値を削除するために使用されます。これにより、指定された列の一意のレコードのみが出力に表示されるようになります。
例: まず最初に 作成する Distinct Clause コマンドを使用するデモ SQL データベースとテーブル。
クエリ:
SELECT DISTINCT Department
FROM Employees;
出力:
構文:
SELECT DISTINCT column1 column2
FROM table_name
- 列1 列2: テーブルのフィールドの名前。
- テーブル名: レコードを取得するテーブル。
注記: 複数の列で使用する場合
DISTINCTこれらの列にわたる値の一意の組み合わせを返します。
SQL での DISTINCT の例
サンプル テーブルを作成し、重複したエントリをいくつか入力してみましょう。サンプルの Students テーブルで DISTINCT キーワードを使用する例をいくつか見ていきます。
例 1: NAME フィールドから一意の名前を取得します。
クエリは、テーブルから重複エントリを排除して、一意の名前のみを返します。
クエリ:
SELECT DISTINCT NAME FROM students; 出力:
例 2: 複数の列の一意の組み合わせをフェッチする
このクエリは、NAME と AGE の異なる組み合わせを取得します。2 つの行の名前と年齢が同じである場合、そのうちの 1 つだけが結果セットに表示されます。
クエリ:
SELECT DISTINCT NAME AGE FROM students;出力:
例 3: ORDER BY 句での DISTINCT の使用
DISTINCT キーワードと 注文方法 結果セットをソートするときに一意の値をフィルタリングする句。このクエリは、students テーブルから一意の年齢を取得し、昇順に並べ替えます。
クエリ:
SELECT DISTINCT AGE FROM students ORDER BY AGE; 出力:
例 4: 集計関数での DISTINCT の使用 (例: COUNT())
ここで確認していきます カウント() COUNT() 関数を使用して生徒の合計数を取得する DISTINCT 句を含む関数。
クエリ:
SELECT COUNT(DISTINCT ROLL_NO) FROM Students ;出力:
例 5: NULL 値を含む DISTINCT
SQL では、DISTINCT キーワードは NULL を一意の値として扱います。 NULL は個別の値として扱われるため、NULL が複数ある場合は 1 回だけ表示されます。
クエリ:
INSERT INTO students (ROLL_NO NAME ADDRESS PHONE AGE)
VALUES (13 'John Doe' '123 Unknown Street' '9876543216' NULL);
SELECT DISTINCT AGE FROM students;
出力:
クイズの作成