Můžete také nechat klauzuli IN převzít výsledky dotazu, například:
SELECT * FROM table1
WHERE table1.id IN
(
SELECT id from table2
)
Tímto způsobem nemusíte generovat textový řetězec se všemi možnými hodnotami.
V mysql byste měli být schopni vložit do klauzule IN tolik hodnot, kolik chcete, pouze omezených hodnotou "max_allowed_packet".
http://dev.mysql.com/doc /refman/5.0/cs/comparison-operators.html#function_in http://dev.mysql.com /doc/refman/5.0/cs/server-system-variables.html#sysvar_max_allowed_packet