■WHERE句で条件に合う行のみが検索されます。
■WHERE句の基本構文
SELECT 列名リスト
FROM 表名リスト
WHERE 条件式
・真(TRUE)の行だけ戻されます。
■比較条件
比較演算子 |
意味 |
例 |
= |
等しい |
SELECT DEPARTMENT_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID=10; |
> |
より大きい |
SELECT DEPARTMENT_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID>10; |
>= |
より大きい、または等しい |
SELECT DEPARTMENT_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID>=10; |
< |
より小さい |
SELECT DEPARTMENT_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID<10; |
<= |
より小さい、または等しい |
SELECT DEPARTMENT_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID<=10; |
<> または != または ^= |
等しくない |
SELECT DEPARTMENT_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID!=10; |
BETWEEN A AND B |
A以上B以下 |
SELECT SALARY, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE SALARY BETWEEN 4000 AND 5000; |
IN(値1,値2) |
値リストのいずれかを照合 |
SELECT JOB_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE JOB_ID IN ( 'AD_VP' , 'IT_PROG'
); |
LIKE 文字パターン |
文字パターンを照合
%(パーセント) |
ゼロ文字または複数文字の任意の文字を表します。 |
_(アンダースコア) |
任意の1文字を表します |
|
SELECT FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE HIRE_DATE LIKE '2000%' ;
|
IS NULL |
NULL値かどうか |
SELECT COMMISSION_PCT, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE COMMISSION_PCT IS NULL; |
■論理条件
論理条件 |
意味 |
例 |
NOT |
条件式を否定する論理演算子 |
SELECT JOB_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE JOB_ID NOT IN ('AD_VP', 'IT_PROG'); |
AND |
2つの条件ともに真の時に結果を戻す演算子 |
SELECT DEPARTMENT_ID, JOB_ID,
FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID=60
AND JOB_ID IN ( 'AD_VP' , 'IT_PROG' ) ; |
OR |
2つの条件どちらか一方が(もしくはともに)真の時に結果を戻す演算子 |
SELECT DEPARTMENT_ID, JOB_ID,
FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID=60
OR JOB_ID IN ('AD_VP', 'IT_PROG'); |
・優先順位1:( )
・優先順位2:NOT
・優先順位3:AND
・優先順位4:OR
|