Operator Precedence for AND, OR, NOT

Using AND and OR to combine expressions in a WHERE clause:

  • The AND operator takes precedence over the OR operator.
  • The comparison operators take precedence over AND.
  • You can override the default precedence by using parentheses.
 
CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,
                      ENAME VARCHAR2(10),
                      HIREDATE DATE);

INSERT INTO EMP VALUES (1,    NULL, TO_DATE('17-DEC-1980', 'DD-MON-YYYY'));
INSERT INTO EMP VALUES (2, 'ALLEN', TO_DATE('20-FEB-1981', 'DD-MON-YYYY'));
INSERT INTO EMP VALUES (3, 'WARD',  TO_DATE('22-FEB-1981', 'DD-MON-YYYY'));
INSERT INTO EMP VALUES (4, 'JONES', TO_DATE('2-APR-1981',  'DD-MON-YYYY'));
INSERT INTO EMP VALUES (5, 'MARTIN',TO_DATE('28-SEP-1981', 'DD-MON-YYYY'));


SQL> SELECT *
  2  FROM emp
  3  WHERE hiredate > '01-JAN-1980'
  4  OR empno < 2
  5  AND ename LIKE '%S';

     EMPNO ENAME      HIREDATE
---------- ---------- ---------
         1            17-DEC-80
         2 ALLEN      20-FEB-81
         3 WARD       22-FEB-81
         4 JONES      02-APR-81
         5 MARTIN     28-SEP-81

SQL>
Home »
Oracle »
Select » 

Where:
  1. Where clause
  2. dual table
  3. Comparison Operators
  4. ANY
  5. ALL
  6. LIKE, NOT LIKE
  7. IN, NOT IN
  8. Between...AND, NOT Between...AND
  9. IS NULL, IS NOT NULL
  10. Logical operator AND, OR, NOT
  11. Operator Precedence for AND, OR, NOT
Related: