今回の記事ではWHERE句を使って、条件指定したレコード(行)を検索するというのを学習します。
WHEREを使うことで、より自分の欲しいデータのみ検索することができます。
それではWHERE句を学習しましょう!
SQL文入門:パン屋さんのmenuテーブルで考えてみよう
テーブル名:menu
id | name | price | category |
---|---|---|---|
1 | あんぱん | 100 | 菓子パン |
2 | メロンパン | 200 | 菓子パン |
3 | カレーパン | 300 | 総菜パン |
4 | カツサンド | 400 | 総菜パン |
もしSQL文を初めて学習する方はこちらの記事からまずは指定のテーブルから指定のカラムを検索するSELECT FROMから学習しましょう!
今回も簡単な題材として、パン屋さんのmenuテーブルを例にSQL文を学習してきます。
【WHERE】特定条件のレコード(行)を検索する
特定条件のレコード(行)を検索するときはWHEREを使います。
WHEREを使うことで、自分のほしいデータだけ検索することが可能です。
select カラム名
from テーブル名
where 条件
;
では実際にパン屋さんのmenuテーブルから、カテゴリー(category)が総菜パンになっているレコードのみ検索してみましょう!
select *
from menu
where category = "総菜パン"
;
↓↓↓↓実行すると
・実行結果
id | name | price | category |
---|---|---|---|
3 | カレーパン | 300 | 総菜パン |
4 | カツサンド | 400 | 総菜パン |
categoryが総菜パンのレコード(行)のみを検索できます。
WHEREでテキストを条件指定する場合
↑でcategoryが総菜パンのレコード(行)のみを検索しましたが、このようにWHERE句でテキストを条件として指定する場合は「””(ダブルクォーテーション)」を使います。
select カラム名
form テーブル名
where カラム名 = "テキスト" ←テキストはダブルクォーテーションで囲む
;
WHEREで比較演算子を使って条件指定する場合
まずは比較演算子をおさらいしましょう。
a < b | aはbより小さい |
---|---|
a <= b | aはb以下 |
a > b | aはbより大きい |
a >= b | aはb以上 |
a = b | aとbは等しい |
ちなみに以下や以上のように「以」が付く場合はその数値自体も含みます。
(例) aは20以上 → 20も含む
WHEREで比較演算子を使って条件指定する場合は以下のように記載します。
select カラム名
from テーブル名
where カラム名 <= 300
;
では実際にパン屋さんのmenuテーブルから価格が300円以下のレコード(行)を検索してみましょう。
SQL文は以下のように記載します。
select *
from menu
where price <= 300
;
↓↓↓↓実行すると
・実行結果
id | name | price | category |
---|---|---|---|
1 | あんぱん | 100 | 菓子パン |
2 | メロンパン | 200 | 菓子パン |
3 | カレーパン | 300 | 総菜パン |
このようにpriceカラム(列)が300以下のみのレコード(行)だけ表示されます。
まとめ
今回の記事をまとめると
- SQL文で条件指定したレコードのみ検索する場合はwhereを使う
- whereでテキストを指定する場合は「where カラム名 = “テキスト”」と記載し、ダブルクォーテーションを使う
- whereでは比較演算子を使って条件指定も可能