0

在 SQL 查询中 IN() 中传递的值的数量有什么限制?我一直在网上四处寻找,但没有找到我想要的答案?

4

1 回答 1

2

当明确说明限制为 1,000 时,即:

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

这是在IN 条件的文档中

您最多可以在 expression_list 中指定 1000 个表达式。

如果没有明确说明,则没有限制:

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

虽然有用,但通常有更好的方法将这么多或更多的值传递给 SELECT。可能值得考虑一些描述或 JOIN 的参考表。

也可以看看:

于 2013-10-10T19:29:30.963 回答