ゆる~く覚えるSQL入門:条件指定したレコード(行)を検索する【WHERE】

  • 2020年9月20日
  • 2020年9月21日
  • IT, SQL
  • 1view
IT

今回の記事では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では比較演算子を使って条件指定も可能
最新情報をチェックしよう!