【发布时间】:2018-01-03 15:13:10
【问题描述】:
我们是否可以使用多个 IN 子句进行 oracle 查询,每个子句可以有 1000 多个值?
select * from student where name in(1000+ values) and id in (1000+ values)
我已经看到其他线程具有相同类型的问题,带有单个 IN 子句和解决方案临时表
谢谢 -拉纳德
【问题讨论】:
-
这对我来说是糟糕的设计。如果两者都是 1:1(即一个名称与一个 Id 相关联),则创建多个临时表或一个具有多个列的临时表。您不想定期将 40kb 的 select - 语句传递给您的数据库....
-
MySQL 的
IN子句可以容纳比 Oracle 更多的文字。您使用的是哪个 DBMS?请edit你的标签。 -
或者您可以根据需要只
OR尽可能多的IN(less than 1000)。 -
非常糟糕的设计。如有必要,创建一个临时表并制作
where name in (select name from temp_table) -
我不能做OR,应该是AND,因为这个查询是基于UI过滤器选择的,过滤器是AND过滤器
标签: oracle