当前位置: 代码迷 >> Oracle管理 >> oracle中where表达式中优先级雷同后的执行顺序
  详细解决方案

oracle中where表达式中优先级雷同后的执行顺序

热度:258   发布时间:2016-04-24 04:04:52.0
oracle中where表达式中优先级相同后的执行顺序
oracle中 where 之后 如果有多个表达式 比如 
         where   salary>1000 and  salary <3000;
   系统是先执行 左边的salary>1000,还是右边的salary<3000.新手求教啊 ?
------解决思路----------------------
理论上说是从右到左,但数据库会根据实际情况进行优化,顺序可能有变。
------解决思路----------------------
ORACLE采用从右至左的顺序解析WHERE子句
------解决思路----------------------
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾
  相关解决方案