比如这样一个SQL语句:select * from A a where a.id in(...........)假如in里面有成千上万个id值时,就会出错。
这个问题谁碰到了,怎么解决呢?
另外要考虑到效率问题,怎么解决?(实际中是夺标联立查询)用union all 连接起来可以避免问题,但是效率低的可怕。
望高手指点。。
...全文
46212打赏收藏
Oracle中用条件关键字in查询时出错
比如这样一个SQL语句:select * from A a where a.id in(...........)假如in里面有成千上万个id值时,就会出错。 这个问题谁碰到了,怎么解决呢? 另外要考虑到效率问题,怎么解决?(实际中是夺标联立查询)用union all 连接起来可以避免问题,但是效率低的可怕。 望高手指点。。
[Quote=引用楼主 attached 的回复:]
比如这样一个SQL语句:select * from A a where a.id in(...........)假如in里面有成千上万个id值时,就会出错。
这个问题谁碰到了,怎么解决呢?
另外要考虑到效率问题,怎么解决?(实际中是夺标联立查询)用union all 连接起来可以避免问题,但是效率低的可怕。
望高手指点。。
[/Quote]
select * from A where exists(select 1 from B where a.id=b.id)
[Quote=引用楼主 attached 的回复:]
比如这样一个SQL语句:select * from A a where a.id in(...........)假如in里面有成千上万个id值时,就会出错。
这个问题谁碰到了,怎么解决呢?
另外要考虑到效率问题,怎么解决?(实际中是夺标联立查询)用union all 连接起来可以避免问题,但是效率低的可怕。
望高手指点。。
[/Quote]