簡體   English   中英

刪除未從另一個表引用的表的所有記錄

[英]Deleting all records of a table that are not referenced from another table

2桌:
items(id,...)
用戶(id,item_id,...)

如何刪除未從用戶引用的項目中的所有記錄?

請注意,NOT IN可能非常慢。 有時候 - 令人費力 - 這樣做的速度更快:

DELETE FROM items WHERE id IN
(SELECT id FROM items EXCEPT SELECT item_id FROM users)
DELETE FROM items WHERE id NOT IN (SELECT item_id FROM users)

(使用子查詢users選擇所有item_ids ,然后從id不在該子查詢結果中的items中刪除記錄)

delete from items
where id not in (select item_id from users)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM