Postgres 差を出すSQL EXCEPT ALL 一方には含まれ、一方には含ま れていない

2つのSQLを利用して出した結果、同じ行数がでるはずなのに微妙な差が出る場合、何の差が出ているんだろうと悩む事があります。検証のために別のSQLを作って出してみたら、微妙に違うなんてこともあったりして。

この時に素早く、その差を結果として出力するためのSQLです。SQLの結果を結合するのはUNIONというSQL文がありますが、その逆、SQLの結果の差だけを表示します。

EXCEPT [ALL]

ALL:重複業も出力する

使い方

こうする事で、どこが違うんだろうと悩んだら、一発でその差を出すことができ、原因究明に役立ちます。

Oracleだとminusってあるみたいですけど、PostgreSQLではExceptで行きましょう。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です