解决问题——Oracle 在使用and or时需要注意
Posted 浅殇忆流年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决问题——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';
创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖
以上是关于解决问题——Oracle 在使用and or时需要注意的主要内容,如果未能解决你的问题,请参考以下文章
解决oracle数据库 ora-00054:resource busy and acquire with NOWAIT specified 错误