1

有没有更快的方法来获取存在table1但不存在的 idtable2并将它们插入table2

insert into table2 (id) 
select id 
from table1 
where table1.id not in (select id from table2)
4

1 回答 1

0

除了使用in运算符的解决方案之外,请尝试exists一个

select id
from table1 t1
where not exists (
    select 1
    from table2
    where id = t1.id 
)

如果子查询返回一个空集,则not exists计算结果为true

outer join

select id
from
    table1 t1
    left join
    table2 t2 on t1.id = t2.id
where t2.id is null

用来explain analyze比较

于 2013-08-09T23:22:40.357 回答