Where 部分に複数の条件式を記述する方法を紹介します。
概要
Where部分に複数の条件式を記述する場合には、
and
や
or
の論理演算子を利用します。
例1: 複数の条件式に一致するレコードの抽出
テーブル
次のテーブルを用意します。
Products1 テーブル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 |
SQL
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 |
例2: 複数の条件式のどちらかに一致するレコードの抽出
Products2 テーブル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 |
SQL
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 |
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2022-05-15
作成日: 2022-05-15