Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Limitação em IN()


Quando declarado explicitamente, o limite é 1.000, ou seja:
select * from the_table where id in (1, 2, ..., 1000)

Isso está na documentação sobre a condição IN :

Quando não declarado explicitamente, não há limite:
select * from table1 where id in ( select id from table2 )

Embora útil, geralmente há maneiras melhores de passar tantos ou mais valores para um SELECT. Pode valer a pena considerar uma tabela de referência de alguma descrição ou JOIN.

Veja também: