logo

SQLでdistinctを使用するにはどうすればよいですか?

SQL 明確な 句は、結果セットから重複する列を削除するために使用されます。

Different キーワードは、select キーワードと組み合わせて使用​​されます。特定のファイルに存在する重複値を回避する場合に役立ちます。 列/テーブル 。の 固有の値 は、distinct キーワードを使用すると取得されます。

  • SELECT DISTINCT は、個別の ( 違う ) の値。
  • DISTINCT はテーブルから重複レコードを削除します。
  • DISTINCT は集計とともに使用できます。 カウント、平均、最大 、など。
  • DISTINCT は単一の列に対して動作します。
  • DISTINCT では複数の列はサポートされません。

構文:

 SELECT DISTINCT expressions FROM tables [WHERE conditions]; 

パラメーター:

式: 取得する列または計算は式と呼ばれます。

テーブル: レコードを取得するテーブル。 FROM 句にはテーブルが 1 つだけあります。

WHERE 条件: 選択されたレコードに対して条件が満たされる場合がありますが、これはオプションです。

コレクション Java

注記:

性能試験
  • 式が 1 つだけ指定されている場合、 明確な 句を指定すると、クエリは式の一意の値を返します。
  • 複数の式が指定されている場合、クエリはリストされた式の一意の組み合わせを取得します。 明確な ここの条項。
  • SQL では、 明確な 句では NULL 値を無視できません。したがって、SQL ステートメントで DISTINCT 句を使用すると、結果セットには個別の値として NULL が含まれます。

例:

次のことを考慮してください 従業員 テーブル。

SQLでdistinctを使用する方法

まず、次の SELECT クエリが重複した給与レコードを返すことを見てみましょう。

 SQL> SELECT SALARY FROM EMPLOYEES ORDER BY SALARY; 

上記の SQL クエリを実行すると、重複レコードを含むすべてのレコードが取得されます。上の表では、ニュートンとジョンソンの給与は同じ 20000 です。

SQLでdistinctを使用する方法

さて、使ってみましょう 明確な 上記の SELECT クエリでキーワードを使用します。

 SQL> SELECT DISTINCT SALARY FROM EMPLOYEES ORDER BY SALARY; 

上記の SQL クエリは重複レコードを削除し、次の結果を示します。

SQLでdistinctを使用する方法

例: 列内の一意の値の検索

DISTINCT 句を調べて、テーブル内の 1 つの列内で一意の値を見つけます。

というテーブルがあります サプライヤー 次のデータを使用します。

NFAの例
SQLでdistinctを使用する方法

上の表から、固有の状態を見つけます。

 SELECT DISTINCT state FROM suppliers ORDER BY state; 

これらは 6つの 記録。

SQLでdistinctを使用する方法

この例では、一意の から サプライヤー テーブルと削除 結果セットからの重複レコード。

例: 複数の列の一意の値の検索

SQL DISTINCT 句は、SELECT ステートメントの多くのフィールドから重複レコードを削除するために使用されます。

を入力 SQL文 :

 SELECT DISTINCT city, state FROM suppliers ORDER BY city, state; 

出力:

for ループ Java の拡張

これらは 8 つのレコードです。

SQLでdistinctを使用する方法

この例では、一意のそれぞれを返します 都市と州 組み合わせ。私たちは、 レッドウッドシティ そして カリフォルニア 、結果セットに表示されます。

例: DISTINCT 句は NULL 値を処理します

DISTINCT 句は次のことを考慮します。 ヌル 固有の値に SQL 。というテーブルがあります 製品 以下のデータが含まれています。

SQLでdistinctを使用する方法

Null 値を含むフィールド Fruit_id から一意の値を選択します。以下を入力してください SQL 構文:

 SELECT DISTINCT fruit_id FROM fruits ORDER BY category_id; 

4 つのレコードが選択されています。以下にその結果を示します。

メソッドのオーバーロード
SQLでdistinctを使用する方法

上の例では、クエリは、 カテゴリID カラム。結果セットの最初の行を見ると、 ヌル によって返される例外的な値です。 明確な 句。