2010-06-19 16 views

Antwort

10

Beachten Sie, dass NICHT IN wirklich sein kann langsam. Manchmal - überraschend genug - ist es schneller, etwas wie dieses zu tun:

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

Dies ist gut in einigen anderen SQL-Sprachen, aber MySQL unterstützt nicht EXCEPT. – earl3s

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

(verwendet ein subquery alle item_ids von users auszuwählen und löscht dann die Datensätze aus items wo id nicht in den Ergebnissen dieser Unterabfrage)

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