Where 部分に複数の条件式を記述する方法を紹介します。
Where部分に複数の条件式を記述する場合には、and や or の論理演算子を利用します。
次のテーブルを用意します。
| id | name | price | category |
|---|---|---|---|
| 1 | Penguin | 500 | Bird |
| 2 | Bear | 1050 | Mammal |
| 3 | Duck | 150 | Bird |
| 4 | Camel | 920 | Mammal |
| 5 | Owl | 185 | Bird |
| 6 | Whale | 880 | Mammal |
priceが200以下でcategoryがbirdのレコードを検索します。price<=200 と category='Bird' の2つの条件式を記述する必要があります。
この場合のSQL文は次の通りです。
select * from Products1 where price <= 200 and category = 'Bird'
上記のSQLを実行すると以下の結果となります。priceが200以下で、categoryがBirdのレコードが選択されます。
| id | name | price | category |
|---|---|---|---|
| 3 | Duck | 150 | Bird |
| 5 | Owl | 185 | Bird |
| id | model | name | class | category | price |
|---|---|---|---|---|---|
| 1 | C-XM01 | モーダンチェア | ホーム | チェア | 56000 |
| 2 | X-XD05 | ラージデスク | オフィス | テーブル | 87000 |
| 3 | A-DA40 | ラウンドダイニングチェア | ホーム | チェア | 28000 |
| 4 | O-XX100 | ナチュラルオフィス | オフィス | チェア | 13800 |
| 5 | R-D400 | ラウンドダイニングテーブル | ホーム | テーブル | 128000 |
| 6 | R7000 | ウッドキャビネット | オフィス | その他 | 32000 |
| 7 | B-200 | リネンベッド | ホーム | ベッド | 184500 |
| 8 | B-250 | ホワイトダブルベッド | ホーム | ベッド | 324850 |
| 9 | W-80 | ワーキングチェア | オフィス | チェア | 45000 |
| 10 | EG-10X | エルゴノミクスデスク | オフィス | テーブル | 88500 |
classがオフィスのレコード、または、priceが50000以下のレコードを検索します。class='オフィス' と price <= 50000 の2つの条件式を記述する必要があります。
この場合のSQL文は次の通りです。
select * from Products2 where class='オフィス' or price <= 50000
上記のSQLを実行すると以下の結果となります。classがオフィスのレコード、または、priceが50000以下のレコードが選択されます。
| id | model | name | class | category | price |
|---|---|---|---|---|---|
| 2 | X-XD05 | ラージデスク | オフィス | テーブル | 87000 |
| 3 | A-DA40 | ラウンドダイニングチェア | ホーム | チェア | 28000 |
| 4 | O-XX100 | ナチュラルオフィス | オフィス | チェア | 13800 |
| 6 | R7000 | ウッドキャビネット | オフィス | その他 | 32000 |
| 9 | W-80 | ワーキングチェア | オフィス | チェア | 45000 |