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也可以,但是不会用到索引,效率会很低 展开
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也可以,但是不会用到索引,效率会很低 展开
2个回答
展开全部
你的数据明显就是可以使用 in 的,又不能使用 in ,
只好 把这一组数据写到一个表里,这样就可以不用 in 而用 exists 了。
几千条数据,你做一个临时表B,把数据写入临时表B里,
然后用 select * from A where exists (select 1 from B where A.id = b.id)
只好 把这一组数据写到一个表里,这样就可以不用 in 而用 exists 了。
几千条数据,你做一个临时表B,把数据写入临时表B里,
然后用 select * from A where exists (select 1 from B where A.id = b.id)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询