2013-10-10 31 views
0

在SQL查詢中IN()內傳遞的值的數量限制是多少?我一直在這個網上尋找,但沒有找到我正在尋找的答案?對IN的限制()

+0

有多難你看?我花了不到一分鐘的時間搜索了一個「oracle list item limit」的搜索字符串。 –

回答

2

當明確指出限制爲1000,即:

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

這是documentation on the IN conditon

最多可以指定在expression_list 1000個表達式。

當沒有明確說明沒有任何限制:

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

雖然有用經常有路過這許多個或多個值的SELECT的更好的方法。可能值得考慮一些描述或JOIN的參考表。

參見:

+0

那麼如果IN()不夠,最好的選擇是什麼?假設我們有大的查詢,其中一列ColumnA在運行時(我正在談論動態地考慮值)時將不得不考慮許多值(> 1000)。我不知道我是否正確,例如, – user2824874