2表:
items(id,...)
用户(id,item_id,...)
如何删除未从用户引用的项目中的所有记录?
答案 0 :(得分:11)
请注意,NOT IN可能非常慢。有时 - 足够 - 这样做的速度更快:
DELETE FROM items WHERE id IN
(SELECT id FROM items EXCEPT SELECT item_id FROM users)
答案 1 :(得分:5)
DELETE FROM items WHERE id NOT IN (SELECT item_id FROM users)
(使用subquery从item_ids
中选择所有users
,然后删除items
中id
不在其结果中的记录子查询)
答案 2 :(得分:2)
delete from items
where id not in (select item_id from users)