sql >> Base de Datos >  >> RDS >> Mysql

obtener valores que no existen en la tabla mysql

Crea una tabla temporal con tus claves:

CREATE TEMPORARY TABLE mykeys (`key` INT);
INSERT INTO mykeys VALUES (1),(2),(3),(4),(5);

Entonces use NO EN:

SELECT `key`
FROM mykeys
WHERE `key` NOT IN (SELECT `key` FROM mytable)

Finalmente, elimine su tabla TEMP si debe:

DROP TABLE mykeys

EDITAR :Se agregó SQLFiddle .

Si está utilizando PostgreSQL que admite EXCEPT operador , y también VALUES se puede usar para crear un conjunto de filas a partir de una lista de valores, hay otra forma más fácil de hacerlo sin tablas temporales (SQLFiddle ):

VALUES (1),(2),(3),(4),(5)
EXCEPT
SELECT key FROM mytable