Erstellen Sie eine temporäre Tabelle mit Ihren Schlüsseln:
CREATE TEMPORARY TABLE mykeys (`key` INT);
INSERT INTO mykeys VALUES (1),(2),(3),(4),(5);
Verwenden Sie dann NOT IN:
SELECT `key`
FROM mykeys
WHERE `key` NOT IN (SELECT `key` FROM mytable)
Löschen Sie schließlich Ihre TEMP-Tabelle, wenn Sie müssen:
DROP TABLE mykeys
BEARBEITEN :SQLFiddle hinzugefügt .
Wenn Sie PostgreSQL verwenden, das EXCEPT
unterstützt Betreiber
, und auch VALUES
-Anweisung verwendet werden kann, um Zeilengruppen aus einer Werteliste zu erstellen, gibt es einen anderen, einfacheren Weg, dies ohne temporäre Tabellen zu tun (SQLFiddle
):
VALUES (1),(2),(3),(4),(5)
EXCEPT
SELECT key FROM mytable