oracle exists查询慢,Oracle exists查询未按预期工作-数据库链接错误?

我对这个查询的结果感到非常困惑:

select count(*) from my_tab mt

where mt.stat = '2473'

and mt.name= 'Tom'

and exists (select * from company_users@colink.world cu,

personnel_records@colink.world pr

where cu.user_id = pr.user_id

and mt.name = pr.name

and mt.stat = cu.stat

)

收益率:1

在company_users@colink.world中有0条stat='2473'的记录,那么为什么它会为exists返回true?

如果我这样更改查询,它将返回0:

select count(*) from my_tab mt

where mt.stat = '2473'

and mt.name= 'Tom'

and exists (select * from company_users@colink.world cu,

personnel_records@colink.world pr

where cu.user_id = pr.user_id

and mt.name = pr.name

and cu.stat = '2473'

)

更新

好吧,这真的很奇怪。为了看看会发生什么,我从另一个数据库(数据库链接引用的数据库)执行了查询,它给出了不同的(正确的)结果。

select count(*) from my_tab@mylink.world mt

where mt.stat = '2473'

and mt.name= 'Tom'

and exists (select * from company_users cu,

personnel_records pr

where cu.user_id = pr.user_id

and mt.name = pr.name

and mt.stat = cu.stat

)

返回0(如预期)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值