キーを使用して一時テーブルを作成します:
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
編集 :SQLFiddle を追加しました 。
EXCEPT
をサポートするPostgreSQLを使用している場合 オペレーター
、およびVALUES
ステートメントを使用して、値のリストから行セットを作成できます。一時テーブルなしでこれを行う別の簡単な方法があります( SQLFiddle
):
VALUES (1),(2),(3),(4),(5)
EXCEPT
SELECT key FROM mytable