Oracle9i SQL Reference
Release 1 (9.0.1)

Part Number A90125-01
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback

Go to previous page Go to beginning of chapter Go to next page

Conditions, 4 of 11


Logical Conditions

A logical condition combines the results of two component conditions to produce a single result based on them or to invert the result of a single condition. Table 5-3 lists logical conditions.

Table 5-3 Logical Conditions  
Condition  Operation  Example 
NOT 
 

Returns TRUE if the following condition is FALSE. Returns FALSE if it is TRUE. If it is UNKNOWN, it remains UNKNOWN

SELECT *
  FROM employees
  WHERE NOT (job_id IS NULL);
SELECT *
  FROM employees
  WHERE NOT 
  (salary BETWEEN 1000 AND 2000);
 
AND 
 

Returns TRUE if both component conditions are TRUE. Returns FALSE if either is FALSE. Otherwise returns UNKNOWN

SELECT *
  FROM employees
  WHERE job_id = 'PU_CLERK'
  AND department_id = 30;
 
OR 
 

Returns TRUE if either component condition is TRUE. Returns FALSE if both are FALSE. Otherwise returns UNKNOWN

SELECT *
  FROM employees
  WHERE job_id = 'PU_CLERK'
  OR department_id = 10;
 

Table 5-4 shows the result of applying the NOT condition to an expression.

Table 5-4 NOT Truth Table

 

TRUE 

FALSE 

UNKNOWN 

NOT 

FALSE 

TRUE 

UNKNOWN 

Table 5-5 shows the results of combining the AND condition to two expressions.

Table 5-5 AND Truth Table

AND 

TRUE 

FALSE 

UNKNOWN 

TRUE 

TRUE 

FALSE 

UNKNOWN 

FALSE 

FALSE 

FALSE 

FALSE 

UNKNOWN 

UNKNOWN 

FALSE 

UNKNOWN 

For example, in the WHERE clause of the following SELECT statement, the AND logical condition is used to ensure that only those hired before 1984 and earning more than $1000 a month are returned:

SELECT * FROM employees
WHERE hire_date < TO_DATE('01-JAN-1989', 'DD-MON-YYYY')
   AND salary > 2500;

Table 5-6 shows the results of applying OR to two expressions.

Table 5-6 OR Truth Table

OR 

TRUE 

FALSE 

UNKNOWN 

TRUE 

TRUE 

TRUE 

TRUE 

FALSE 

TRUE 

FALSE 

UNKNOWN 

UNKNOWN 

TRUE 

UNKNOWN 

UNKNOWN 

For example, the following query returns employees who have a 40% commission rate or a salary greater than $20,000:

SELECT employee_id FROM employees
   WHERE commission_pct = .4 OR salary > 20000;

Go to previous page Go to beginning of chapter Go to next page
Oracle
Copyright © 1996-2001, Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback