【BiqQuery】テーブル改修後のテスト手法。二つのテーブルの差分を出す
テーブルを改修した際は、必ず改修前のテーブルと比較し、
予定通りのものになっているか求めると思います。
もっともお手軽で簡単なのがexceptを使ったテスト方法です。
今回は`exceptを使うことで差分を取ります。
これは、AとBというテーブルがあった場合、
Bに存在していないAのカラムを出力します。
テストテーブル
select * from ( select * from A except distinct select * from B )
結果
そして、AとBを反対にすると、Aに存在していないBのカラムが返される。
Aに存在していないBのカラムは無いので、値は返されない。
検証する際は、両方試すことが多いので、以下のように組み合わせる
Aが改修前で、Bが改修後だと仮定した場合以下になる。
select "kaisyu_mae" as col,* from ( select * from A_mae except distinct select * from B_ato ) union all select "kaisyu_ato" as col,* from ( select * from B_ato except distinct select * from A_mae )
改修前と改修後で差分がなければ、値は返されず、差分があれば、対象カラムが返されます。