【问题标题】:SQL select query with large set of id's in where clause [duplicate]在where子句中具有大量ID的SQL选择查询[重复]
【发布时间】:2017-09-14 00:56:41
【问题描述】:

我有下面的 SQL 查询,我需要在 WHERE 子句中传递大约 50K id,

select columnA 
from TableA 
WHERE COLUMNB ...

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

提前致谢, 拉格万

【问题讨论】:

  • 将这 50k 行放入一个临时表并加入。

标签: sql oracle


【解决方案1】:

您可以将这些 ID 加载到一个实际的表中,无论是临时的还是其他的,然后加入它:

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

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

【讨论】:

    猜你喜欢
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多