sql >> Databasteknik >  >> RDS >> Oracle

Begränsning av IN()

När det uttryckligen anges är gränsen 1 000, dvs.:

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

Detta finns i dokumentationen om IN-tillståndet a> :

När det inte uttryckligen anges finns det ingen gräns:

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

Även om det är användbart finns det ofta bättre sätt att överföra så många eller fler värden till en SELECT. Det kan vara värt att överväga en referenstabell med någon beskrivning eller JOIN.

Se även:




  1. MySQL-tabellpartition per månad

  2. Använder tidigare MySQL-datamapp på ny MySQL-installation

  3. Oracle Pivot-fråga ger kolumner med citattecken runt kolumnnamnen. Vad?

  4. MySQL:Få ett returresultat från en INSERT SELECT