SQL - 比较2个表,然后将唯一项添加到第3个表

时间:2012-07-10 21:55:02

标签: sql

标题说的一切。

我有2个表都有匹配的数据

Table Name: Customers
_____________________________
ID   | CompanyName
--------------
1    | Joes
2    | Kennys
3    | Kellys
4    | Ricks
5    | Johns


Table Name: OldCustomers
_____________________________
ID   | CompanyName
--------------
1    | Joes
2    | Kennys
3    | Kellys
4    | Ricks

我想在两个表之间进行比较。然后取表2中不存在的Row,并将其添加到我创建的名为“NewCustomers”的表中

1 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

insert into NewCustomers(id, companyname)
select c.id
  , c.companyname
from Customers c 
left join OldCustomers oc
  on c.companyname = oc.companyname
where oc.id is null;

select *
from NewCustomers

请参阅SQL Fiddle with Demo

此查询将查找OldCustomers表中缺少公司名称的所有记录。如果您想加入ID和公司名称,只需将and c.id = oc.id添加到left join即可。它会给你相同的结果。