oracle 中 in 跟 exists 的用法ITeye - 娱乐之横扫全球

oracle 中 in 跟 exists 的用法ITeye

2019-01-12 13:07:18 | 作者: 鸿朗 | 标签: 查询,用法,履行 | 浏览: 2136

例如 
Users 表
  account  name
  1   张三
  2   李四
phone 表
  account  telphone
  1   135678
  2   132789
1: exists 的用法
  Select account, name
  from users
where exists (select account from phone where telephone like ‘135%’)
回来的成果是:
  Account  name
  1  张三
运用EXISTS,Oracle会首要查看主查询,然后运转子查询直到它找到第一个匹配项
  2: in的用法
  Select account, name
  from users
where  account in (select account from phone where telephone like ‘135%’)
  Account  name
  1  张三
Oracle在履行IN子查询时,首要履行子查询,并将取得的成果列表存放在一个加了索引的暂时表中。在履行子查询之前,体系先将主查询挂起,待子查询履行结束,存放在暂时表中今后再履行主查询。
两者之间的功率比较:
IN适合于表面大而内表小的状况;EXISTS适合于表面小而内表大的状况。
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表娱乐之横扫全球立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章