2016-06-14 12 views
0

データベースシステムのMINUS操作に関する質問があります。 MINUS操作を実行したい場合は、両方のテーブルに同じ種類のPrimary/Compositeキーを設定する必要がありますか?クエリを使用したSQLのMINUS操作

私はオペレータが直接ではなく、通常のクエリを使用してMINUS操作を実行しています。そのためには、両方のテーブルのプライマリキーを比較し、MINUS操作を行うだけで十分ですか?または、行のすべての値を比較する必要がありますか?

+1

マイナスは標準SQLではありません。標準SQLのterrmはEXCEPTです。私はあなたがOracleを使用していると仮定しますか?この質問は、テーブルとサンプルデータを含めた方が良いでしょう。 –

答えて

1

これを行うには、両方のテーブルのプライマリキーを比較し、MINUS操作を行うだけで十分ですか?または、行のすべての値を比較する必要がありますか?

MINUS operation in Oracleが返されます「すべての明確な最初のクエリで選択されない行」だから、それは主キーとは何の関係もありません - それは、すべての列の値を見ていきます。

プライマリキーを比較したい場合は、サブクエリを持つNOT INまたはNOT EXISTS演算子を使用するほうが現実的かもしれません。

+0

したがって、行全体の値ではなく、主キーだけを比較して(対応する行をフェッチすると)、結果は同じになりますか? – Sri

+0

必ずしもそうではありません - 主キーが等しいと仮定すると、他の列がすべて等しいかどうかによって異なります。 –

関連する問題