Not has the lowerest priority : NOT « Query Select « Oracle PL/SQL Tutorial






SQL>
SQL> CREATE TABLE emp (
  2    emp_id               NUMBER,
  3    ename             VARCHAR2(40),
  4    hire_date        DATE DEFAULT sysdate,
  5    end_date DATE,
  6    rate     NUMBER(5,2),
  7    CONSTRAINT emp_pk    PRIMARY KEY (emp_id)
  8  );

Table created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (101, 'Mary', to_date('15-Nov-1961','dd-mon-yyyy'),null,169);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (102, 'Tom', to_date('16-Sep-1964','dd-mon-yyyy'),to_date('5-May-2004','dd-mon-yyyy'),135);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (104, 'Peter', to_date('29-Dec-1987','dd-mon-yyyy'),to_date('1-Apr-2004','dd-mon-yyyy'),99);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (105, 'Mike', to_date('15-Jun-2004','dd-mon-yyyy'),null,121);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (107, 'Less', to_date('2-Jan-2004','dd-mon-yyyy'),null,45);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (108, 'Park', to_date('1-Mar-1994','dd-mon-yyyy'),to_date('15-Nov-2004','dd-mon-yyyy'),220);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (110, 'Ink', to_date('4-Apr-2004','dd-mon-yyyy'),to_date('30-Sep-2004','dd-mon-yyyy'),84);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (111, 'Tike', to_date('23-Aug-1976','dd-mon-yyyy'),null,100);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (112, 'Inn', to_date('15-Nov-1961','dd-mon-yyyy'),to_date('4-Apr-2004','dd-mon-yyyy'),70);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (113, 'Kate', to_date('3-Mar-2004','dd-mon-yyyy'),to_date('31-Oct-2004','dd-mon-yyyy'),300);

1 row created.

SQL>
SQL> SET ECHO ON
SQL> SELECT *
  2  FROM emp
  3  WHERE NOT ((emp_id = 114)
  4     OR (hire_date >= TO_DATE('1-Jan-2004','dd-mon-yyyy')
  5         AND REGEXP_LIKE(ename, '^Myk.*')));
       101 Mary
15-NOV-61            $169.00

       102 Tom
16-SEP-64 05-MAY-04  $135.00

       104 Peter
29-DEC-87 01-APR-04   $99.00

       105 Mike
15-JUN-04            $121.00

       107 Less
02-JAN-04             $45.00

       108 Park
01-MAR-94 15-NOV-04  $220.00

       110 Ink
04-APR-04 30-SEP-04   $84.00

       111 Tike
23-AUG-76            $100.00

       112 Inn
15-NOV-61 04-APR-04   $70.00

       113 Kate
03-MAR-04 31-OCT-04  $300.00


10 rows selected.

SQL>
SQL>
SQL> drop table emp;

Table dropped.








2.25.NOT
2.25.1.NOT to negate a boolean value
2.25.2.Or, and, not
2.25.3.NOT operator has higher priority than AND
2.25.4.Not empty(null)
2.25.5.Not equals
2.25.6.Not equals: not vs <>
2.25.7.not in (1,2,3,NULL)
2.25.8.not in vs not exists
2.25.9.Not has the lowerest priority
2.25.10.Not(condition1 and condition2)
2.25.11.Using Not in and subquery