Maak een tijdelijke tabel met uw sleutels:
CREATE TEMPORARY TABLE mykeys (`key` INT);
INSERT INTO mykeys VALUES (1),(2),(3),(4),(5);
Gebruik dan NOT IN:
SELECT `key`
FROM mykeys
WHERE `key` NOT IN (SELECT `key` FROM mytable)
Laat tot slot je TEMP-tabel vallen als dat moet:
DROP TABLE mykeys
BEWERKEN :Toegevoegd SQLFiddle .
Als u PostgreSQL gebruikt dat EXCEPT
ondersteunt telefoniste
, en ook VALUES
statement kan worden gebruikt om een rijset te maken van een zoeklijst. Er is een andere, eenvoudigere manier om dit te doen zonder tijdelijke tabellen (SQLFiddle
):
VALUES (1),(2),(3),(4),(5)
EXCEPT
SELECT key FROM mytable