1. 程式人生 > >Oracle的sql語句,查詢條件加括號與不加括號區別 -

Oracle的sql語句,查詢條件加括號與不加括號區別 -

ont 執行 ora 語句 oracl lar AC rac oracle

例如:

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優先級要高,括號可以改變條件判斷的優先級!!!!!!!

Oracle的sql語句,查詢條件加括號與不加括號區別 -