2020/01/27SQLのMINUS演算子で差分を抽出するサンプルです。テーブルBテーブルAで取得した行とテーブルBで取得した行を全ての列の値で比較し、列の値がすべて一致する行は抽出しません。→テーブルAのみにある行を抽出します。集合演算子で、差集合を求めます。データベースによって「MINUS」演算子はサポートしていません。Oracleでは実行できます。以下は、Oracleの集合演算子のリンクです。https://docs.oracle.com/cd/E16338_01/server.112/b56299/queries004.htmMINUSを使用したサンプルMINUS演算子で2つのテーブルを比較し、差がある行を表示するサンプルです。以下、2つのテーブルがあるとします。1つめのsyainテーブルです。sato2つめのsyain_beforeテーブルです。tanaka以下のSQLを実行します。syain_before2行目は、MINUSを使用しています。結果は、以下のとおりです。satosyainテーブルのみにあるデータが表示されます。syainテーブルとsyain_beforeテーブルに重複する行は表示されません。比較するテーブルの値が異なっていた場合は、差分として抽出されません。以下、2つのテーブルがあるとします。1つめのsyainテーブルです。2行目のデータは、列のromajiの値がnullです。sato2つめのsyain_beforeテーブルです。tanaka以下のSQLを実行します。syain_before2行目は、MINUSを使用しています。結果は、以下のとおりです。satosyainテーブルのデータが全件表示されます。比較する項目がnullどうしの場合でも判定できます。以下、2つのテーブルがあるとします。1つめのsyainテーブルです。2行目のデータにnullがあります。sato2つめのsyain_beforeテーブルです。こちらもNULLがあります。NULL以下のSQLを実行します。syain_before結果は、以下のとおりです。sato1,3行目のみ出力されます。