1. 程式人生 > >解決Oracle使用IN 不能超過1000問題

解決Oracle使用IN 不能超過1000問題

解:

1,分割SQL語句為select a from b where c in(,,,,,,,) or c in (,,,,,,,,,) or c in (,,,,,,,,,),......

保證每個括號內個數不超過一千,就可以。執行效率可能比較低下。

2,建立一箇中間的temp表存在查詢條件,在資料庫內部進行直接查詢

select *  from table_1 where column_1 in ( select column_2 from table_2_temp )

3,如果IN裡面的資料是從別的表取的話,可以直接這樣編寫sql語句

select *  from table_1 where column_1 in ( select column_2 from table_2 ,....... )