Oracle的sql语句,查询条件加括号与不加括号区别 -

例如:

SELECT ename, job, deptno
   FROM emp
     WHERE deptno in (10, 20)
          AND (ename like '%I' OR job like '%ER');

执行该sql,结果集如下:
1        JONES        MANAGER        20
2        CLARK        MANAGER        10

去掉上面sql查询条件中的括号,
SELECT ename, job, deptno
   FROM emp
     WHERE deptno in (10, 20)
          AND ename like '%I' OR job like '%ER';

结果集如下:
1        JONES        MANAGER        20
2        BLAKE        MANAGER        30
3        CLARK        MANAGER        10

 

出现如上差异的原因是:and比or优先级要高,括号可以改变条件判断的优先级!!!!!!!

关联的时候如果有主键,用主键(如UUID)关联查询速度会加快很多!!!!!!!

posted on 2018-06-26 14:56  seven1314pp  阅读(1020)  评论(0编辑  收藏  举报