Mysql
 sql >> Database >  >> RDS >> Mysql

SELECT che restituisce un elenco di valori che non si verificano in nessuna riga

Se non vuoi (esplicitamente) utilizzare tabelle temporanee, questo funzionerà:

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

Tuttavia, è piuttosto brutto, piuttosto lungo e sono dubbioso su come funzionerebbe se l'elenco degli ID fosse lungo.