Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Beschränkung auf IN()

Wenn ausdrücklich angegeben, liegt die Grenze bei 1.000, d. h.:

select * from the_table where id in (1, 2, ..., 1000)

Dies ist in der Dokumentation zur IN-Bedingung :

Wenn nicht ausdrücklich angegeben, gibt es keine Begrenzung:

select * from table1 where id in ( select id from table2 )

Obwohl es nützlich ist, gibt es oft bessere Möglichkeiten, so viele oder mehr Werte an ein SELECT zu übergeben. Es könnte sich lohnen, eine Referenztabelle mit einer Beschreibung oder einem JOIN in Betracht zu ziehen.

Siehe auch: