Vytvořte dočasnou tabulku pomocí klíčů:
CREATE TEMPORARY TABLE mykeys (`key` INT);
INSERT INTO mykeys VALUES (1),(2),(3),(4),(5);
Poté použijte NOT IN:
SELECT `key`
FROM mykeys
WHERE `key` NOT IN (SELECT `key` FROM mytable)
Nakonec vypusťte tabulku TEMP, pokud musíte:
DROP TABLE mykeys
UPRAVIT :Přidáno SQLFiddle .
Pokud používáte PostgreSQL, který podporuje EXCEPT
operátor
a také VALUES
příkaz lze použít k vytvoření sady řádků ze seznamu hodnot, existuje další, jednodušší způsob, jak to udělat bez dočasných tabulek (SQLFiddle
):
VALUES (1),(2),(3),(4),(5)
EXCEPT
SELECT key FROM mytable