論理条件
論理条件は、構成要素である2つの条件の結果を結合して、それらに基づく単一の結果を生成するか、または単一条件の結果を逆転します。表6-4に、論理条件を示します。
表6-4 論理条件
条件の種類 | 操作 | 例 |
---|---|---|
NOT |
以降の条件が |
SELECT * FROM employees WHERE NOT (job_id IS NULL) ORDER BY employee_id; SELECT * FROM employees WHERE NOT (salary BETWEEN 1000 AND 2000) ORDER BY employee_id; |
AND |
両方のコンポーネント条件が |
SELECT * FROM employees WHERE job_id = 'PU_CLERK' AND department_id = 30 ORDER BY employee_id; |
OR |
一方のコンポーネント条件が |
SELECT * FROM employees WHERE job_id = 'PU_CLERK' OR department_id = 10 ORDER BY employee_id; |
表6-5に、式にNOT
条件を適用した結果を示します。
表6-5 NOT真理値表
-- | TRUE | FALSE | UNKNOWN |
---|---|---|---|
NOT |
|
|
|
表6-6に、2つの式にAND
条件を組み合せた結果を示します。
表6-6 AND真理値表
AND | TRUE | FALSE | UNKNOWN |
---|---|---|---|
TRUE |
|
|
|
FALSE |
|
|
|
UNKNOWN |
|
|
|
たとえば、次のSELECT
文のWHERE
句は、AND
論理条件を使用して、2004年より前に入社し、給与が$2500を超える従業員のみを戻します。
SELECT * FROM employees WHERE hire_date < TO_DATE('01-JAN-2004', 'DD-MON-YYYY') AND salary > 2500 ORDER BY employee_id;
表6-7に、2つの式にOR
を適用した結果を示します。
表6-7 OR真理値表
OR | TRUE | FALSE | UNKNOWN |
---|---|---|---|
TRUE |
|
|
|
FALSE |
|
|
|
UNKNOWN |
|
|
|
たとえば、次の問合せは、歩合率が40%または給与が$20,000を超える従業員を戻します。
SELECT employee_id FROM employees WHERE commission_pct = .4 OR salary > 20000 ORDER BY employee_id;