Създайте временна таблица с вашите ключове:
CREATE TEMPORARY TABLE mykeys (`key` INT);
INSERT INTO mykeys VALUES (1),(2),(3),(4),(5);
След това използвайте NOT IN:
SELECT `key`
FROM mykeys
WHERE `key` NOT IN (SELECT `key` FROM mytable)
И накрая, махнете таблицата си TEMP, ако трябва:
DROP TABLE mykeys
РЕДАКТИРАНЕ :Добавен SQLPiddle .
Ако използвате PostgreSQL, който поддържа EXCEPT
оператор
, както и VALUES
операторът може да се използва за създаване на набор от редове от списък със стойности, има друг, по-лесен начин да направите това без временни таблици (SQLPiddle
):
VALUES (1),(2),(3),(4),(5)
EXCEPT
SELECT key FROM mytable