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 |