SQL

MINUSを使って差分を出力する

  • このエントリーをはてなブックマークに追加

MINUS(マイナス)の使い方になります。

2つのSELECTの出力結果を比較して、差分があるレコードを抽出してくれます。

データ移行やデータパッチ作業で作業結果を確認するために重宝します。

基本的な使い方のサンプルです。

MINUSのサンプルSQL(差分レコードあり)

TB_MINUS_Aテーブルのレコード

SELECT * FROM TB_MINUS_A;

  NO NAME        BIRTH_YMD
----------------
   1 東京 太郎  1980/01/01
   2 東京 次郎  
2000/01/01

TB_MINUS_Bテーブルのレコード

SELECT * FROM TB_MINUS_B;

  NO NAME        BIRTH_YMD
----------------
   1 東京 太郎  1980/01/01
   2 東京 次郎  
2000/12/20

MINUSを使って差分を抽出

SELECT * FROM TB_MINUS_A
MINUS
SELECT * FROM TB_MINUS_B
;

  NO NAME        BIRTH_YMD
----------------
2 東京 次郎 2000/01/01

MINUSの使い方はシンプルですね。

データ移行やデータパッチで「TB_MINUS_A」のデータを「TB_MINNUS_B」の内容に変更するというデータ移行やデータパッチで行う場合、作業後にMINUSを使って差分がでなければ問題無しという確認ができるのですごく重宝します。

差分が出力されない場合は次の様に出力されます。

MINUSのサンプルSQL(差分レコードなし)

TB_MINUS_Aテーブルのレコード

SELECT * FROM TB_MINUS_A;

  NO NAME        BIRTH_YMD
----------------
   1 東京 太郎  1980/01/01
   2 東京 次郎  2000/01/01

TB_MINUS_Bテーブルのレコード

SELECT * FROM TB_MINUS_B;

  NO NAME        BIRTH_YMD
----------------
   1 東京 太郎  1980/01/01
   2 東京 次郎  2000/01/01

MINUSを使って差分を抽出

SELECT * FROM TB_MINUS_A
MINUS
SELECT * FROM TB_MINUS_B;

レコードが選択されませんでした。

以上です

  • このエントリーをはてなブックマークに追加

コメントを残す

*