SELECT something
FROM someTable
WHERE idcode NOT IN (SELECT ids FROM tmpIdTable)
comprueba cualquier valor de la lista.
Sin embargo, NOT IN no es tolerante a NULL. Si la subconsulta devuelve un conjunto de valores que contienen NULL, no se devolverá ningún registro. (Esto se debe a que internamente NOT IN está optimizado para idcode <> 'foo' AND idcode <> 'bar' AND idcode <> NULL
etc., que siempre fallará porque cualquier comparación con NULL arroja DESCONOCIDO, lo que impide que la expresión completa se vuelva VERDADERA).
Una variante más agradable y tolerante a NULL sería esta:
SELECT something
FROM someTable
WHERE NOT EXISTS (SELECT ids FROM tmpIdTable WHERE ids = someTable.idcode)
EDITAR:Inicialmente asumí que esto:
SELECT something
FROM someTable
WHERE idcode <> (SELECT ids FROM tmpIdTable)
verificaría contra el primer valor solamente. Resulta que esta suposición es incorrecta al menos para SQL Server, donde en realidad desencadena su error:
Msg 512, Level 16, State 1, Line 1 Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.