Combine conditions with AND and OR : AND OR « Query Select « Oracle PL/SQL Tutorial






SQL>
SQL>
SQL> CREATE TABLE titles(
  2    title_id   CHAR(3)      NOT NULL,
  3    title_name VARCHAR(40)  NOT NULL,
  4    type       VARCHAR(10)  NULL    ,
  5    pub_id     CHAR(3)      NOT NULL,
  6    pages      INTEGER      NULL    ,
  7    price      DECIMAL(5,2) NULL    ,
  8    sales      INTEGER      NULL    ,
  9    pubdate    DATE         NULL    ,
 10    contract   SMALLINT     NOT NULL
 11  );

Table created.

SQL>
SQL>
SQL>
SQL>
SQL> INSERT INTO titles VALUES('T01','Java','history','P01',111,21.99,566,DATE '2000-08-01',1);

1 row created.

SQL> INSERT INTO titles VALUES('T02','Oracle','history','P03', 114,19.95,9566,DATE '1998-04-01',1);

1 row created.

SQL> INSERT INTO titles VALUES('T03','SQL','computer','P02', 122,39.95,25667,DATE '2000-09-01',1);

1 row created.

SQL> INSERT INTO titles VALUES('T04','C++','psychology','P04', 511,12.99,13001,DATE '1999-05-31',1);

1 row created.

SQL> INSERT INTO titles VALUES('T05','Python','psychology','P04', 101,6.95,201440,DATE '2001-01-01',1);

1 row created.

SQL> INSERT INTO titles VALUES('T06','JavaScript','biography','P01', 173,19.95,11320,DATE '2000-07-31',1);

1 row created.

SQL> INSERT INTO titles VALUES('T07','LINQ','biography','P03', 331,23.95,1500200,DATE '1999-10-01',1);

1 row created.

SQL> INSERT INTO titles VALUES('T08','C#','children','P04', 861,10.00,4095,DATE '2001-06-01',1);

1 row created.

SQL> INSERT INTO titles VALUES('T09','SQL Server','children','P04', 212,13.95,5000,DATE '2002-05-31',1);

1 row created.

SQL> INSERT INTO titles VALUES('T10','AJAX','biography','P01', NULL,NULL,NULL,NULL,0);

1 row created.

SQL> INSERT INTO titles VALUES('T11','VB','psychology','P04', 821,7.99,94123,DATE '2000-11-30',1);

1 row created.

SQL> INSERT INTO titles VALUES('T12','Office','biography','P01', 507,12.99,100001,DATE '2000-08-31',1);

1 row created.

SQL> INSERT INTO titles VALUES('T13','VBA','history','P03', 812,29.99,10467,DATE '1999-05-31',1);

1 row created.

SQL>
SQL>
SQL>
SQL>
SQL> SELECT title_id, type, price
  2    FROM titles
  3    WHERE type = 'history'
  4       OR type = 'biography'
  5      AND price < 20;

TIT TYPE            PRICE
--- ---------- ----------
T01 history         21.99
T02 history         19.95
T06 biography       19.95
T12 biography       12.99
T13 history         29.99

SQL>
SQL>
SQL> drop table titles;

Table dropped.

SQL>








2.11.AND OR
2.11.1.Use AND to link two conditions
2.11.2.Use 'OR' to link two conditions
2.11.3.Combine three conditions with OR
2.11.4.(state = 'CA') OR (state <> 'CA')
2.11.5.1=1 or 1=0 and 0=1 (case 1)
2.11.6.(1=1 or 1=0) and 0=1 (case 2)
2.11.7.1=1 or (1=0 and 0=1) (case 3)
2.11.8.CONDITION
2.11.9.Combine NOT and AND
2.11.10.Not Equal and OR
2.11.11.Replace IN operator with or operator
2.11.12.Combine conditions with AND and OR
2.11.13.Use parenthesis to change the order of AND and OR