Oracle中如何将数据用于exists

我想使用exists来判断表中某个字段是否存在于某个范围,但是exists的使用方法是:select*fromAwhereexists(select1fromBwhere... 我想使用exists来判断表中某个字段是否存在于某个范围,但是exists的使用方法是:
select * from A where exists (select 1 from B where A.id = b.id),也就是必须要一个相关的表B,才能使用exists查询。我目前有的是一组这种形式的数据:(1,4,6,3,5),而不是一个表,问一下想查看A的id是否在这个范围中,怎么写SQL呢?
不能用in关键字,因为id字段是有索引的。
我写的数据:(1,4,6,3,5)只是举个例子,实际的数据比这更复杂,几千条,用in也可以,但是不会用到索引,效率会很低
展开
 我来答
射手幽灵伊
推荐于2016-11-07 · TA获得超过2716个赞
知道大有可为答主
回答量:4955
采纳率:81%
帮助的人:1954万
展开全部
你的数据明显就是可以使用 in 的,又不能使用 in ,
只好 把这一组数据写到一个表里,这样就可以不用 in 而用 exists 了。

几千条数据,你做一个临时表B,把数据写入临时表B里,
然后用 select * from A where exists (select 1 from B where A.id = b.id)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2013-08-27 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部

比如你这个数组就是一个字符串

select * from 表名 where instr('1,4,6,3,5',id)>0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式