Crie uma tabela temporária com suas chaves:
CREATE TEMPORARY TABLE mykeys (`key` INT);
INSERT INTO mykeys VALUES (1),(2),(3),(4),(5);
Então use NOT IN:
SELECT `key`
FROM mykeys
WHERE `key` NOT IN (SELECT `key` FROM mytable)
Por fim, elimine sua tabela TEMP se precisar:
DROP TABLE mykeys
EDITAR :Adicionado SQLFiddle .
Se você estiver usando o PostgreSQL que suporta
EXCEPT
operador
, e também VALUES
pode ser usada para criar um conjunto de linhas da lista de valores, existe outra maneira mais fácil de fazer isso sem tabelas temporárias (SQLFiddle
):VALUES (1),(2),(3),(4),(5)
EXCEPT
SELECT key FROM mytable