在where子句

时间:2017-04-18 09:02:06

标签: sql oracle

我有以下SQL查询,我需要在WHERE子句中传递50K id,

select columnA 
from TableA 
WHERE COLUMNB ...

我尝试使用IN(...)语法,但它接受最多5K条目。您可以告诉在WHERE子句中使用此大型数据集传递和执行sql的最佳方法。

先谢谢, 拉加

1 个答案:

答案 0 :(得分:0)

您可以将这些ID加载到实际的表中,临时或其他,然后加入它:

SELECT a.columnA
FROM TableA a
INNER JOIN TableB b
    ON a.COLUMNB = b.some_col

实际上,对于50K数据点,如果不是已经完成,这些数据几乎肯定应该在真正的表中进行管理。松散的数据很容易出错。