1

我想要一个应该执行数据清理任务的 SQL 代码。

我有两个表都包含一些我想比较它们的名称,并且只列出那些在表 2 中但不在表 1 中的名称。

例子:

Table 1 = A ,B,C
Table 2 = C,D,E

结果一定有D和E?

4

4 回答 4

5
SELECT t2.name
FROM   2 t2
       LEFT JOIN
       1 t1 ON t1.name=t2.name
WHERE  t1.name IS NULL
于 2013-09-06T03:44:22.180 回答
0
select t2.name
from t2,t1
where t2.name<>t1.name -- ( or t2.name!=t1.name)
于 2013-09-06T03:49:28.030 回答
0

如果 DBMS 支持它:

select name from table2
minus
select name from table1

更便携的解决方案也可能是:

select name from table2
where name not in (select name from table1)
于 2013-09-06T04:02:07.677 回答
0
select T2.Name
from Table2 as T2
where not exists (select * from Table1 as T1 where T1.Name = T2.Name)

请参阅这篇文章,了解不同反连接实现的性能(针对 SQL Server)。

于 2013-09-06T05:27:54.047 回答