Where 部分に複数の条件式を記述したい - SQL

Where 部分に複数の条件式を記述する方法を紹介します。

概要

Where部分に複数の条件式を記述する場合には、andor の論理演算子を利用します。

例1: 複数の条件式に一致するレコードの抽出

テーブル

次のテーブルを用意します。
Products1 テーブル
idnamepricecategory
1Penguin500Bird
2Bear1050Mammal
3Duck150Bird
4Camel920Mammal
5Owl185Bird
6Whale880Mammal

SQL

priceが200以下でcategoryがbirdのレコードを検索します。price<=200category='Bird' の2つの条件式を記述する必要があります。 この場合のSQL文は次の通りです。
select * from Products1 where price <= 200 and category = 'Bird'

実行結果

上記のSQLを実行すると以下の結果となります。priceが200以下で、categoryがBirdのレコードが選択されます。
idnamepricecategory
3Duck150Bird
5Owl185Bird

例2: 複数の条件式のどちらかに一致するレコードの抽出

Products2 テーブル
idmodelnameclasscategoryprice
1C-XM01モーダンチェアホームチェア56000
2X-XD05ラージデスクオフィステーブル87000
3A-DA40ラウンドダイニングチェアホームチェア28000
4O-XX100ナチュラルオフィスオフィスチェア13800
5R-D400ラウンドダイニングテーブルホームテーブル128000
6R7000ウッドキャビネットオフィスその他32000
7B-200リネンベッドホームベッド184500
8B-250ホワイトダブルベッドホームベッド324850
9W-80ワーキングチェアオフィスチェア45000
10EG-10Xエルゴノミクスデスクオフィステーブル88500

SQL

classがオフィスのレコード、または、priceが50000以下のレコードを検索します。class='オフィス'price <= 50000 の2つの条件式を記述する必要があります。
この場合のSQL文は次の通りです。
select * from Products2 where class='オフィス' or price <= 50000

実行結果

上記のSQLを実行すると以下の結果となります。classがオフィスのレコード、または、priceが50000以下のレコードが選択されます。

idmodelnameclasscategoryprice
2X-XD05ラージデスクオフィステーブル87000
3A-DA40ラウンドダイニングチェアホームチェア28000
4O-XX100ナチュラルオフィスオフィスチェア13800
6R7000ウッドキャビネットオフィスその他32000
9W-80ワーキングチェアオフィスチェア45000
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2022-05-15
作成日: 2022-05-15
iPentec all rights reserverd.