【SQL】MINUSで結果の差分を抽出する

SQL
※本ページにはプロモーションが含まれます
※本ページにはプロモーションが含まれます
スポンサーリンク

MINUSでの結果差分抽出についてはじめに

SQLのMINUS関数は、2つのSELECT文の結果から、最初のSELECT文の結果にだけ含まれている行を抽出するための演算子です。

MINUSを使うと、2つのクエリの結果から一方にのみ存在する行を取り出すことができます。本記事では、こちらについて解説いたします。

MINUSの使用方法

具体的な使い方を説明いたします。
例えば、以下のような2つのテーブルがあるとします。

Table1:
ID | Name
1 | John
2 | Alice
3 | Bob

Table2:
ID | Name
1 | John
3 | Bob
5 | Emily

そして、以下のようなクエリを実行すると、

SELECT ID, Name FROM Table1
MINUS
SELECT ID, Name FROM Table2

結果は、以下のようになります。

ID | Name
2 | Alice

この結果は、Table1には存在するがTable2には存在しない行が抽出されています。
つまり、JohnとBobは両方のテーブルに存在するため、結果から除外されます。

プログラムの環境構築からわからない、、」「データサイエンティストになるには?」など自己学習に不安がありましたら、以下のスクールのご活用をご検討ください!

スタアカTech AcademyCode Lesson
データサイエンティストを目指すことに特化したスクールです。現役エンジニアから学べるオンラインに特化したプログラミングスクールです。転職の支援はもちろん、副業に活かせるスキルの習得から、副業の仕事紹介まで寄り添います。「未経験から独学でプロを目指す」というコンセプトのもと、実践的なコーディング学習ができるプログラミング学習サービスです。
★コース例
・データサイエンティスト概要コース
・Python基礎コース
・データ加工集計可視化コース
・統計学概要コース
・SQL基礎コース
 など
コース例
・Pythonコース

・AIコース
・データサイエンスコース
★提供スキル
HTML, CSS, JavaScript(DOM), React, Vue, TypeScript, Java, PHP, Python, SQL

同様の機能を持つEXCEPTについて

SQLにおいて、MINUSとEXCEPTは同様の機能を持ちますが、データベース管理システムによっては異なる構文や動作をすることがあります。一般的な違いは以下の通りです。

  1. 名前と構文:
    • MINUSはOracleやPL/SQLなどで使用される演算子です。
    • EXCEPTはSQL ServerやPostgreSQLなどで使用される演算子です。
  2. 動作:
    • MINUSは2つのSELECT文の結果から、最初のSELECT文の結果にだけ含まれている行を抽出します。
    • EXCEPTも同様に、2つのクエリの結果から最初のクエリの結果にだけ含まれる行を抽出します。
  3. NULLの取り扱い:
    • MINUSはデフォルトでNULLを無視します。つまり、結果に含まれている行は最初のクエリの結果にのみ存在する行のみです。
    • EXCEPTはNULLを区別します。つまり、最初のクエリの結果には存在しないが、2番目のクエリの結果に存在するNULL値を持つ行も抽出されます。

SQL参考文献

SQL学び始めの時はこちらの本を参考にしていました。

DBやテーブルの構造から、よく使う関数などがまとめられています。基礎を身につけたい方におススメかと思います。

MINUSでの結果差分抽出まとめ

以上がMINUSについての解説となります。

1つめのクエリ結果にあり、MINUS以降の2つめのクエリ結果に存在しないレコードを返すことができます。ケースに応じてご活用ください!

SQL文法関連記事

そのほか、SQL関連記事をこちらにまとめておりますのでご参考ください。
Coffee Tech Blog SQL関連記事

もしIT業界への転職でお困りでしたら、下記サービスのご活用をご検討ください!
私は転職の際にGeeklyを活用させて頂き、ご縁を頂くことができました。

Geekly転職ドラフト
IT・WEB・ソーシャルゲーム業界を専門とした転職支援サービスです。ギークリー独占の求人案件も扱っており、大手サービスに劣らないサービス力を誇ります。転職ドラフトは年収UP率94.3% / 平均年収UP額148.4万円と圧倒的な年収UP率を誇るイベント型のエンジニア向け転職サービスです。毎月1回開催され、IT/Web系企業を中心に、厳選された約240社からダイレクトスカウトを受け取ることができます。

参考になれば幸いです☕

コメント

タイトルとURLをコピーしました