最善の方法は、特定の入力セットに基づいて2つのクエリ出力を比較し、違いを探すことです。すべての入力に対して常に同じ結果が返されると言うことは、実際にはデータに依存します。
Oracleの場合、最善ではないにしても優れたアプローチの1つ(非常に効率的)がここにあります( Ctrl + F 2つの表の内容の比較):
http://www.oracle.com/technetwork/issue-archive/2005/05-jan/o15asktom-084959.html
つまり、次のようになります。
select c1,c2,c3,
count(src1) CNT1,
count(src2) CNT2
from (select a.*,
1 src1,
to_number(null) src2
from a
union all
select b.*,
to_number(null) src1,
2 src2
from b
)
group by c1,c2,c3
having count(src1) <> count(src2);