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

SELECT que devuelve una lista de valores que no aparecen en ninguna fila

Si no desea (explícitamente) usar tablas temporales, esto funcionará:

SELECT id FROM (
  (SELECT 1 AS id) UNION ALL
  (SELECT 2 AS id) UNION ALL
  (SELECT 3 AS id) UNION ALL
  (SELECT 4 AS id) UNION ALL
  (SELECT 5 AS id)
) AS list
LEFT JOIN users USING (id)
WHERE users.id IS NULL

Sin embargo, es bastante feo, bastante largo y tengo dudas sobre cómo funcionaría si la lista de identificaciones es larga.