举一个简单的例子,我有一张桌子:
CREATE TABLE Persons (
personID INTEGER,
name TEXT
);
现在我有了一个名称列表(数组),例如[Peter, Nicolas, Alex]
。我需要删除不在列表中的所有整体。这样做的最佳(性能明智)SQL查询是什么?
答案 0 :(得分:1)
这会很好:
delete from persons
where name not in ('Peter', 'Nicolas', 'Alex')
答案 1 :(得分:0)
对于更通用的代码,请像下面这样使用左连接:
delete Persons
from Persons p
left join yourArray
on p.name = yourArray.id
where yourArray.id is null