Crea una tabella temporanea con le tue chiavi:
CREATE TEMPORARY TABLE mykeys (`key` INT);
INSERT INTO mykeys VALUES (1),(2),(3),(4),(5);
Quindi usa NOT IN:
SELECT `key`
FROM mykeys
WHERE `key` NOT IN (SELECT `key` FROM mytable)
Infine, elimina la tabella TEMP se devi:
DROP TABLE mykeys
MODIFICA :Aggiunto SQLFiddle .
Se stai usando PostgreSQL che supporta EXCEPT
operatore
e anche VALUES
può essere utilizzata per creare un set di righe da un elenco di valori, esiste un altro modo più semplice per farlo senza tabelle temporanee (SQLFiddle
):
VALUES (1),(2),(3),(4),(5)
EXCEPT
SELECT key FROM mytable