Wenn Sie nicht (explizit) temporäre Tabellen verwenden möchten, funktioniert dies:
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
Es ist jedoch ziemlich hässlich, ziemlich lang, und ich bin skeptisch, wie es funktionieren würde, wenn die Liste der IDs lang ist.