カテゴリ: MySQL 更新日: 2026/01/06

MySQLのWHERE句を完全解説!初心者でもわかる条件検索の基本

MySQLのWHERE句を使った条件検索の基本
MySQLのWHERE句を使った条件検索の基本

先生と生徒の会話形式で理解しよう

生徒

「SELECT文はなんとなく分かってきたんですが、WHEREって何をするものなんですか?」

先生

「WHEREは、条件を指定してデータを絞り込むためのものです。名簿の中から条件に合う人だけを探すための仕分けルールだと思ってください。」

生徒

「条件って聞くと難しそうですが、初心者でも使えますか?」

先生

「大丈夫です。WHERE句は、日常生活の『〜以上』『〜だけ』という考え方と同じなので、順番に見ていけば自然と理解できます。」

1. SQLとは何か?

1. SQLとは何か?
1. SQLとは何か?

SQLは、データベースと呼ばれる大量のデータを整理して保存する箱に対して、操作の指示を出すための言語です。MySQLでは、このSQLを使ってデータを表示したり、追加したり、変更したり、削除したりします。

中でもSELECT文はデータを見るための基本操作で、WHERE句はその中で「条件検索」を行うために使われます。

2. WHERE句とは何をするものか

2. WHERE句とは何をするものか
2. WHERE句とは何をするものか

WHERE句は、SELECT文と一緒に使い、条件に合うデータだけを取り出すための仕組みです。すべてのデータを見るのではなく、「必要なものだけを見る」ために使います。

紙の名簿で「二十歳未満の人だけ探す」「この名前の人だけ見る」といった作業をするとき、人は自然に条件を付けています。WHERE句は、その作業をMySQLにお願いするための命令です。

3. サンプルとなるテーブルの内容

3. サンプルとなるテーブルの内容
3. サンプルとなるテーブルの内容

ここでは、会員情報を管理しているusersテーブルを例に、WHERE句の使い方を説明します。まずは、SQLを実行する前のテーブルの状態を確認します。


id | name       | age | email
---+------------+-----+-------------------
1  | 山田太郎   | 25  | taro@example.com
2  | 佐藤花子   | 19  | hanako@example.com
3  | 鈴木一郎   | 30  | ichiro@example.com
4  | 高橋次郎   | 22  | jiro@example.com

4. WHERE句を使わないSELECT文

4. WHERE句を使わないSELECT文
4. WHERE句を使わないSELECT文

まずは、WHERE句を使わない場合を見てみます。このSQLでは、usersテーブルに入っているすべてのデータを表示します。


SELECT *
FROM users;

id | name       | age | email
---+------------+-----+-------------------
1  | 山田太郎   | 25  | taro@example.com
2  | 佐藤花子   | 19  | hanako@example.com
3  | 鈴木一郎   | 30  | ichiro@example.com
4  | 高橋次郎   | 22  | jiro@example.com

WHERE句がない場合は、条件を付けずに全件表示されます。

5. WHERE句で数値条件を指定する

5. WHERE句で数値条件を指定する
5. WHERE句で数値条件を指定する

WHERE句の基本は、「列名 比較記号 値」という形です。例えば、年齢が二十歳未満の人を探したい場合は、age列を条件に使います。


SELECT *
FROM users
WHERE age < 20;

id | name     | age | email
---+----------+-----+-------------------
2  | 佐藤花子 | 19  | hanako@example.com

このように、WHERE句を使うことで、条件に合うデータだけが表示されます。「小なり記号」は「より小さい」という意味です。

6. 文字を条件にしたWHERE句

6. 文字を条件にしたWHERE句
6. 文字を条件にしたWHERE句

WHERE句は、数字だけでなく文字にも使えます。例えば、名前が特定の人だけを探したい場合です。


SELECT *
FROM users
WHERE name = '山田太郎';

id | name     | age | email
---+----------+-----+-------------------
1  | 山田太郎 | 25  | taro@example.com

文字を条件にする場合は、シングルクォーテーションで囲みます。これは、「ここからここまでが文字です」とMySQLに伝えるための決まりです。

7. WHERE句はSELECT文とセットで考える

7. WHERE句はSELECT文とセットで考える
7. WHERE句はSELECT文とセットで考える

WHERE句は単体では使えず、必ずSELECT文と一緒に使います。考え方としては、「どのテーブルから」「どんな条件で」「何を表示するか」という順番です。

文章として読むと、「usersテーブルから、条件に合うデータを取り出す」という意味になります。この読み方に慣れると、SQLが急に分かりやすくなります。

8. WHERE句を使うときの注意点

8. WHERE句を使うときの注意点
8. WHERE句を使うときの注意点

WHERE句を使うときは、条件を書き間違えると、意図しないデータが表示されることがあります。特に文字と数字の違いには注意が必要です。

また、条件を書かずにUPDATEやDELETEと組み合わせると、すべてのデータに影響が出てしまいます。そのため、WHERE句は「データを守るための条件」としても重要な役割を持っています。

9. WHERE句を使った検索後のテーブルイメージ

9. WHERE句を使った検索後のテーブルイメージ
9. WHERE句を使った検索後のテーブルイメージ

WHERE句は、テーブルの中身を変更するものではなく、表示を絞り込むための仕組みです。元のテーブルは、SQL実行後も次のように変わりません。


id | name       | age | email
---+------------+-----+-------------------
1  | 山田太郎   | 25  | taro@example.com
2  | 佐藤花子   | 19  | hanako@example.com
3  | 鈴木一郎   | 30  | ichiro@example.com
4  | 高橋次郎   | 22  | jiro@example.com

WHERE句は、「探し方」を指定するだけの安全なSQLであり、条件検索の基本となる重要な要素です。

カテゴリの一覧へ
新着記事
New1
MySQL
MySQLのWHERE句でNOT条件を指定する方法を徹底解説!初心者向けSQL条件検索ガイド
New2
PostgreSQL
PostgreSQLのLIMIT・OFFSETとパフォーマンス問題を完全解説|初心者でもわかる安全な使い方
New3
MySQL
MySQLのUPDATE文でデータを更新する基本を徹底解説|SQL初心者でもわかるデータベース更新入門
New4
PostgreSQL
PostgreSQLのOFFSET完全入門|並び替えと組み合わせてデータをスキップする方法を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
PostgreSQL
PostgreSQLのDISTINCT完全ガイド|SQLで重複データを除外する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
PostgreSQL
PostgreSQLの主キー・外部キーを完全解説!初心者でもわかる設定方法と考え方
No.3
Java&Spring記事人気No3
PostgreSQL
PostgreSQLとは?初心者向けに特徴をわかりやすく解説
No.4
Java&Spring記事人気No4
PostgreSQL
PostgreSQLのLEFT JOIN完全入門!不足データを補いながらテーブル結合する仕組みをやさしく解説
No.5
Java&Spring記事人気No5
PostgreSQL
PostgreSQLのUPDATE文の使い方(部分更新・条件更新)
No.6
Java&Spring記事人気No6
PostgreSQL
PostgreSQLスキーマ設計のベストプラクティス完全ガイド|初心者でもわかるデータベース整理術
No.7
Java&Spring記事人気No7
PostgreSQL
PostgreSQLスキーマ作成・削除完全ガイド!初心者でもわかるデータベース設計の基礎
No.8
Java&Spring記事人気No8
PostgreSQL
PostgreSQLの権限管理を完全解説|スキーマ単位で理解するデータベースセキュリティの基礎