可以说我有两个带有SSN变量的表,并且我想显示仅在一个表中的表,而不是两个表中的表。
正确的方法是什么?
这是一种方法:
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