| SELECT | ENAME,JOB,SAL |
| FROM | EMP |
| WHERE | SAL >= 2000 |
WEHRE句の後ろに条件式を記述することで、条件に合致したレコードのみを選択することができます。WHEREの条件に使用可能な比較演算子は以下の通りです。
| = | 左辺が右辺と等しい |
| < | 左辺が右辺より小さい |
| <= | 左辺が右辺以下 |
| > | 左辺が右辺より大きい |
| >= | 左辺が右辺以上 |
| <> | 左辺と右辺が等しくない |
それでは実習です。2題出題します。
| SELECT | ENAME,JOB,SAL |
| FROM | EMP |
| WHERE | JOB = 'CLERK' AND SAL >= 1000 |
複合条件でレコードを選択する場合は論理演算子を使用します。
| AND | かつ |
| OR | または |
| NOT | 否定 |
JOB = 'CLERK' AND SAL >= 1000であればJOB = 'CLERK'かつSAL >= 1000の条件を満たしたレコードが選択されます。条件式を否定する場合は NOT JOB = 'CLERK'のように条件式の前にNOTを記述します。
論理演算子には優先順位があり、NOT、AND、ORの順で演算されます。(カッコ)を使うことで、演算の優先順位付けを行うことが可能です。
それでは実習です。2題出題します。
| 番号 | 名前 | 英語 | 国語 | 数学 |
|---|---|---|---|---|
| 3011 | 佐藤 | 56 | 70 | 60 |
| 2023 | 鈴木 | 70 | 65 | 80 |
| 3047 | 田中 | 80 | 70 | 50 |
| 3066 | 中村 | 70 | 80 | 75 |
| ア | SELECT 番号 FROM 成績 WHERE 英語 > 65 OR 国語 > 65 OR 数学 > 65 |
| イ | SELECT 番号 FROM 成績 WHERE 英語 >= 65 AND 国語 >= 65 AND 数学 >= 65 |
| ウ | SELECT 名前 FROM 成績 WHERE 英語 >= 65 OR 国語 >= 65 OR 数学 >= 65 |
| エ | SELECT 名前 FROM 成績 WHERE 英語 + 国語 + 数学 > 195 |
| オ | SELECT 名前 FROM 成績 WHERE 英語 + 国語 + 数学 >= 195 |
これで [SELECT文の基本(2)] は終了です。