テーブルの差異をチェックする

SQLServerでテーブルの差異をチェックしたいときはexceptを使うと便利。2018/1/16追記。

こんな感じ。table1 にあるがtable2には無いレコードがわかる。

select * from table1
except
select * from table2

逆にすると、table2にはあるがtable1には無いレコードがわかる。

select * from table2
except
select * from table1


両方のテーブルに共通なレコードをしりたいときは、intercect を使う。

両方のテーブルから重複を除いたレコードを知りたいときは、union を使う。

行数には、以下の関係がある(はず)。

unionの行数=intercectの行数+except(1有り)行数+except(2有り)行数


コメント

このブログの人気の投稿

varchar をデータ型 numeric に変換中に、算術オーバーフロー エラーが発生しました。