SQL
 Computer >> コンピューター >  >> プログラミング >> SQL

SQL Distinct

データベースを使用している場合、特定のデータセット内のすべての一意の値を取得したい場合があります。たとえば、過去に販売した製品の名前のリストを取得したり、映画データベースに存在するすべての異なるカテゴリの映画のリストを取得したりすることができます。

SQL この情報を取得するのに役立つ組み込み関数があります:DISTINCTDISTINCT 演算子を使用すると、重複するレコードを削除できるため、データセット内の値の一意の組み合わせをすべて取得できます。

このチュートリアルでは、DISTINCTの基本を説明します。 SQLで 、およびこの演算子を使用できる場合。

SQLクエリリフレッシャー

データベースから情報を取得するには、クエリを作成する必要があります。 SQL ほとんどの場合、クエリはSELECTで始まります ステートメントであり、データベースから取得する情報を指定します。 SQLの基本的な構文は次のとおりです。 クエリ:

SELECT column_name FROM table_name WHERE your_query_conditions;

例を使用して、実際のクエリを説明しましょう。次のクエリは、私たちのビジネスで働くすべての従業員の名前と役職を返します。

SELECT name, title FROM employees;

コードは次のようになります:

名前 タイトル
ルーク セールスアソシエイト
マイク セールスアソシエイト
ハンナ セールスアソシエイト
ジェフ シニアセールスアソシエイト
アレクシス セールスアソシエイト
ジョナ 営業担当副社長
エマ マーケティングディレクター

複数の列を取得する場合は、上記のように列名をコンマで区切ることで取得できます。または、すべての列から情報を取得する場合は、アスタリスク(*)を使用できます。 )、これはテーブル内のすべての列を表します。

クエリを作成するときは、WHEREを使用できます 特定の条件を満たすレコードをフィルタリングします。たとえば、私たちのビジネスで働くすべての販売員を取得したい場合は、次のクエリを使用できます。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

SELECT name, title FROM employees
WHERE title = 'Sales Associate':

クエリは次を返します:

名前 タイトル
ルーク セールスアソシエイト
マイク セールスアソシエイト
ハンナ セールスアソシエイト
アレクシス セールスアソシエイト

(4行)

クエリの基本がわかったので、DISTINCTの使用方法を調べることができます。 SQLで 。

SQL Distinct

データベースからデータを収集する場合、結果に重複する行または値が含まれる可能性があります。従業員が保有するすべてのタイトルのリストを取得したいとします。標準のSELECTを使用する場合 クエリでは、重複する値が取得されます。次に例を示します:

SELECT title FROM employees;

クエリは次の結果を返します:

title
セールスアソシエイト
セールスアソシエイト
セールスアソシエイト
シニアセールスアソシエイト
セールスアソシエイト
営業担当副社長
マーケティングディレクター

(7行)

ご覧のとおり、タイトルSales Associate そのタイトルを保持している従業員が4人いるため、4回表示されます。しかし、何人の人がそのタイトルを持っているかではなく、データベースにあるタイトルだけを知りたい場合はどうでしょうか?

ここで、SQL DISTINCT 演算子が入ります。SQL DISTINCTを使用する 句を使用すると、クエリからすべての重複データを削除できます。

DISTINCT キーワードはSELECTと組み合わせて使用​​されます オペレーター。上記と同じクエリを実行する例を次に示しますが、DISTINCT オペレーターが存在します:

SELECT DISTINCT title FROM employees;

クエリは次を返します:

title
営業担当副社長
セールスアソシエイト
シニアセールスアソシエイト
マーケティングディレクター

(4行)

クエリは、従業員が保持しているすべてのタイトルのリストを返しました。ただし、複数の従業員が保有するタイトルは繰り返されませんでした。出力に重複する値はありません。

DISTINCT 演算子は、大規模なデータセットを操作する場合に特に便利です。上記の例では、従業員は7人しかいませんが、500人いると、DISTINCTを使用せずに人々がどのようなタイトルを持っているかを確認するのは困難です。 オペレーター。

結論

これで、DISTINCTの使用方法がわかりました。 SQLの演算子 サーバー。

すでに説明したように、SQL SELECT DISTINCT テーブルからデータをフェッチし、結果から重複する行または値を削除できます。たとえば、会社のすべての支店のリストが必要な場合は、DISTINCTを使用できます。 リストを作成します。 DISTINCT 重複が気を散らす可能性がある大規模なデータセットで作業している場合に特に便利です。


  1. MS SQL Serverとは何ですか?

    SQL Serverとは何ですか? RDBMSに基づいてMicrosoftが開発したソフトウェア。 また、ORDBMS(オブジェクトリレーショナルデータベース管理システム)。 独立したプラットフォーム。 ソフトウェアは、コマンドラインインターフェイスとGUIインターフェイスの両方を使用します。 SQL言語のサポート(以前のSEQUEL-構造化された英語のクエリ言語)-これはIBMの製品です。 SQLServerを使用する目的 データベースを作成します。 データベースを維持します。 SSASによるデータ分析-SQLServerAnalysisServices。 SSRSによるレポートの作

  2. SQL検疫

    このブログ投稿では、SQL検疫の概念を紹介しています。 Oracle®ResourceManagerを使用すると、CPUやI/Oなどのリソースの使用を規制および制限できます。最も興味深い事実は、定義されたしきい値を超える長時間実行クエリの実行を防ぐことができるということです。 SQL検疫とは何ですか? 検疫とは隔離を意味します。 SQL検疫は、暴走クエリのオーバーヘッドを排除するために使用できるバージョン19cの機能です。暴走クエリは、リソースまたはランタイムの制限を超え、リソース、CPU、およびIOの多くを使用するため、ResourceManagerによって終了されるクエリです。 この