Opret en midlertidig tabel med dine nøgler:
CREATE TEMPORARY TABLE mykeys (`key` INT);
INSERT INTO mykeys VALUES (1),(2),(3),(4),(5);
Brug derefter NOT IN:
SELECT `key`
FROM mykeys
WHERE `key` NOT IN (SELECT `key` FROM mytable)
Slip endelig din TEMP-tabel, hvis du skal:
DROP TABLE mykeys
REDIGER :Tilføjet SQLFiddle .
Hvis du bruger PostgreSQL, som understøtter EXCEPT
operatør
, og også VALUES
sætning kan bruges til at oprette rækkesæt fra liste over værdier, der er en anden, nemmere måde at gøre dette på uden midlertidige tabeller (SQLFiddle
):
VALUES (1),(2),(3),(4),(5)
EXCEPT
SELECT key FROM mytable