プロが教えるわが家の防犯対策術!

下記のようなテーブルがあるとします。
Aテーブル
コード 値
X 10
Y 20
Z 30

Bテーブル
コード 値
Y 20
Y 30
Z 30

A.コード=B.コードとA.値=B.値という条件に一致しないデータのうち、
Aテーブルのデータのみ取り出したいです。
この場合だと、「X 10」のみ結果として欲しいです。

どのようなSQLを作成すればいいか、分かりません。
考え方の問題なのかもしれませんが、ぜひ教えてください。

A 回答 (2件)

外部結合というヤツです。


SELECT A.* FROM Aテーブル A,Bテーブル B
WHERE A.コード=B.コード(+) AND B.コード IS NULL
http://www.shift-the-oracle.com/sql/left-right-o …
バージョンにより、書式が微妙に異なります。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
記述していただいたSQLを参考に改変し、
得たい結果を取得することができました。

お礼日時:2009/10/20 14:31

select * from A minus select * from B;

    • good
    • 0
この回答へのお礼

回答ありがとうございました。
こちらのSQLでも試させていただきます。

お礼日時:2009/10/20 14:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す