0

両方とも SSN 変数を持つ 2 つのテーブルがあり、両方ではなく 1 つのテーブルだけにあるものを表示したいとしましょう。

これを行う正しい方法は何ですか?

4

1 に答える 1

0

1 つの方法を次に示します。

select coalesce(t1.ssn, t2.ssn)
from t1 full outer join
     t2
     on t1.ssn = t2.ssn
where t1.ssn is null or t2.ssn is null;

これはほとんどのデータベースで機能しますが、MySQL では機能しません。以下は、ほとんどすべてのデータベースで機能するはずです。

select ssn
from ((select ssn, 't1' as which
       from t1
      ) union all
      (select ssn, 't2' as which
       from t2
      )
     ) t
group by ssn
having count(distinct which) = 1
于 2013-07-09T02:43:44.487 に答える