【解决问题】——Oracle 在使用and or时需要注意

简介: 【解决问题】——Oracle 在使用and or时需要注意

在一次项目的开发过程中,涉及到多张表的联合查询,代码在本地自测的时候并出现锁表的情况,把sql单独抽出来,仔细排查,发现在sql中and or 同时使用的时候,忘记了加括号导致的,导致查询的数据量剧增,导致锁表。

当我们同时使用and、or关键字的时候,需要注意:

  • 两者一起使用的时候,and 的优先级高于or

示例:

select * from emp where sal < 1500 or sal >= 2000 and job = 'analyst';

上述等价于:

select * from emp where sal < 1500 or (sal >= 2000 and job = 'analyst');

而不是我们所预期的:

select * from emp where (sal < 1500 or sal >= 2000) and job = 'analyst';

相关文章
|
SQL 存储 Oracle
oracle错误代码大全(超详细)
本篇文章是对oracle错误代码进行了详细的总结与分析,需要的朋友参考下
1689 0
|
SQL Oracle 关系型数据库
oracle学习
oracle学习
67 0
|
人工智能 运维 Oracle
ChatGPT能代替Oracle DBA吗?用Oracle OCP(1z0-083)的真题测试一下。
第1道题ChatGPT就做错了,姚远老师心里不禁窃喜,看来ChatGPT也不咋地,我们也许不会失业,让我们来看看第一道题的题目
162 0
|
Oracle 关系型数据库
Oracle学习(八):处理数据
本文主要讲Oracle处理数据
116 0
|
Oracle 关系型数据库
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库