dポイントプレゼントキャンペーン実施中!

Red Hat Enterpraise Linux 3
PostgreSQL7.3.10(Linux)

現在2つのテーブルA,Bにてメールアドレスを管理していますが
その2つのテーブルの差分を知りたいのですが、
(Aを基準と考えBとの差分:つまりAには存在しないデータ抽出)

プログラム(PHP等)を使用せずに
差分を取得するには、どの様なクエリー文を組むと出来るのでしょうか?

よろしくお願いします。

A 回答 (1件)

>その2つのテーブルの差分を知りたいのですが、


>(Aを基準と考えBとの差分:つまりAには存在しないデータ抽出)

Aを基準なら、普通は「Aにあり、Bにない」だと思いますが?

紛らわしいので、「t1にあり、t2にはない」として、SQL例を示します。

-- 例1 not existsを使う
select c1
from t1
where not exists(select * from t2 where t1.c1=c1)

-- 例2 not inを使う
select c1
from t1
where c1 not in(select c1 from t2)

-- 例3 left joinを使う
select t1.c1
from t1
left join t2
on t1.c1=t2.c1
where t2.c1 is null
    • good
    • 1

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

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