Afhængigt af den databasemotor, du bruger, kan der være grænser for længden af en instruktion.
SQL Server har en meget stor grænse:
http://msdn.microsoft.com/en-us/library/ms143432.aspx
ORACLE har en meget let at nå grænse på den anden side.
Så for store IN-klausuler er det bedre at oprette en midlertidig tabel, indsætte værdierne og lave en JOIN. Det virker også hurtigere.