- ベストアンサー
片方だけ抽出する方法(SQL)
下記のようなテーブルがあるとします。 Aテーブル コード 値 X 10 Y 20 Z 30 Bテーブル コード 値 Y 20 Y 30 Z 30 A.コード=B.コードとA.値=B.値という条件に一致しないデータのうち、 Aテーブルのデータのみ取り出したいです。 この場合だと、「X 10」のみ結果として欲しいです。 どのようなSQLを作成すればいいか、分かりません。 考え方の問題なのかもしれませんが、ぜひ教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
外部結合というヤツです。 SELECT A.* FROM Aテーブル A,Bテーブル B WHERE A.コード=B.コード(+) AND B.コード IS NULL http://www.shift-the-oracle.com/sql/left-right-outer-join.html バージョンにより、書式が微妙に異なります。
その他の回答 (1)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
回答No.2
select * from A minus select * from B;
質問者
お礼
回答ありがとうございました。 こちらのSQLでも試させていただきます。
お礼
回答ありがとうございました。 記述していただいたSQLを参考に改変し、 得たい結果を取得することができました。