今回の記事では複数条件を指定して、データを検索する方法をご紹介します。
WHERE句にANDやORを記載して条件を追加記載するだけなので、簡単です!
それではやっていきましょう!
目次
SQL文入門:パン屋さんのmenuテーブルで考えてみよう
テーブル名:menu
id | name | price | category |
---|---|---|---|
1 | メロンパン | 200 | 菓子パン |
2 | カレーパン | 300 | 総菜パン |
3 | カツサンド | 400 | 総菜パン |
4 | デニッシュ | 300 | 菓子パン |
5 | バターロール | 200 | 総菜パン |
6 | 食パンプレミアム | 500 | 総菜パン |
7 | 期間限定マロンクリームコロネ | 600 | 菓子パン |
今回も簡単な題材として、パン屋さんのmenuテーブルを例にSQL文を学習してきます。
【AND】AかつB 両方の条件を満たすデータを検索する
例えばSQL文を書いていて、AかつBのデータを検索したいときに使うのが、ANDです。
ANDを使うことで例えば200以上かつ1000以下といった複数条件を指定をしてデータを検索できます。
ANDを使ったSQLの書き方は以下の通りです。
select カラム名
from テーブル名
where カラム名1 条件1
and カラム名2 条件2
;
では、パン屋さんのmenuテーブルから、値段(price)が300円以上かつカテゴリー(category)が菓子パンのものを検索してみたいと思います。
SQL文は以下のように記載します。
・priceが300円以上かつcategoryが菓子パンのものを検索
select *
from menu
where price >= 300
and category = "菓子パン"
;
↓↓↓↓実行してみると
・実行結果
id | name | price | category |
---|---|---|---|
4 | デニッシュ | 300 | 菓子パン |
7 | 期間限定マロンクリームコロネ | 600 | 菓子パン |
値段が400円以上の菓子パンのデータのみを検索できました。
【OR】AまたはB 片方または両方の条件を満たすデータを検索する
次にSQL文を書いていて、AまたはBのデータを検索したいときに使うのが、ORです。
ORを使ったSQLの書き方は以下の通りです。
select カラム名
from テーブル名
where カラム名1 条件1
or カラム名2 条件2
;
では、パン屋さんのmenuテーブルから、名前(name)にパンが含まれるまたはカテゴリー(category)が菓子パンのものを検索してみたいと思います。
SQL文は以下のように記載します。
・nameにパンが含まれるまたはカテゴリーcategoryが菓子パンのものを検索
select *
from menu
where name like "%パン%"
or category = "菓子パン"
;
↓↓↓↓実行してみると
・実行結果
id | name | price | category |
---|---|---|---|
1 | メロンパン | 200 | 菓子パン |
2 | カレーパン | 300 | 総菜パン |
4 | デニッシュ | 300 | 菓子パン |
6 | 食パンプレミアム | 500 | 総菜パン |
7 | 期間限定マロンクリームコロネ | 600 | 菓子パン |
名前にパンが含まれるまたはカテゴリーが菓子パンのものを検索できました。
まとめ
今回の記事をまとめると
- AかつBのデータを検索するときはANDを使う
- AまたはBのデータを検索するときはORを使う