Als u geen (expliciet) tijdelijke tabellen wilt gebruiken, werkt dit:
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
Het is echter behoorlijk lelijk, behoorlijk lang, en ik twijfel over hoe het zou presteren als de lijst met ID's lang is.