カテゴリ: 基本情報技術者試験 更新日: 2025/10/30

WHERE句とは?初心者でもわかる条件指定の基本を徹底解説!

WHERE句
WHERE句

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

生徒

「先生、SQLのSELECT文でデータを取り出すときに、WHERE句(ウェアク)ってよく出てきますけど、これは何をするものなんですか?」

先生

「WHERE句(ウェアク)は、データベース(Database/データベース)の中から“条件に合ったデータだけ”を取り出すための仕組みなんですよ。つまり、データを絞り込むために使います。」

生徒

「絞り込む?つまり全部のデータじゃなくて、特定のものだけを選べるんですね?」

先生

「そうです。たとえば“年齢が30歳以上の社員”とか“価格が1000円より高い商品”だけを表示したいときに使います。今から実際に使い方を見ていきましょう!」

1. WHERE句(ウェアク)とは?

1. WHERE句(ウェアク)とは?
1. WHERE句(ウェアク)とは?

WHERE句は、SQL(エスキューエル/Structured Query Language)の中で、条件を指定して必要なデータだけを取り出すための文法です。データベースの表(テーブル)には大量の情報が保存されていますが、WHERE句を使うことで「条件に一致する行」だけを取得できます。

たとえば、社員の表(テーブル)から「営業部の社員だけ」を取得したい場合、WHERE句を使えば簡単に取り出せます。SELECT文と組み合わせて使うのが基本です。

2. WHERE句の基本構文

2. WHERE句の基本構文
2. WHERE句の基本構文

WHERE句は、次のように書きます。

SELECT 列名 FROM 表名 WHERE 条件;

この構文の中で「条件」と書かれている部分に、比較したい値を指定します。たとえば、年齢が30歳以上の社員を取得するには次のように書きます。

SELECT name, age FROM employees WHERE age >= 30;

この命令を実行すると、社員テーブル(employees)から年齢(age)が30以上の人だけを取り出します。WHERE句は、条件を設定するためのフィルター(ろ過機)のような役割を持っています。

3. 比較演算子(ヒカクエンザンシ)を使った条件指定

3. 比較演算子(ヒカクエンザンシ)を使った条件指定
3. 比較演算子(ヒカクエンザンシ)を使った条件指定

WHERE句では、条件を表すために「比較演算子(ヒカクエンザンシ)」を使います。代表的な演算子を表で見てみましょう。

演算子 意味
=等しいage = 25
>より大きいprice > 1000
<より小さいage < 20
>=以上age >= 30
<=以下price <= 500
<>等しくないdepartment <> '営業'

このように、WHERE句では条件を自由に設定できます。たとえば「価格が1000円を超える商品」「20歳未満の学生」「部署が営業以外の社員」なども簡単に指定できます。

4. 文字列(モジレツ)の条件指定

4. 文字列(モジレツ)の条件指定
4. 文字列(モジレツ)の条件指定

WHERE句では数値だけでなく、文字列(モジレツ)でも条件を指定できます。文字列を指定するときは、シングルクォーテーション(' ')で囲みます。

SELECT name FROM employees WHERE department = '営業';

この例では、部署(department)が「営業」の社員だけを取得します。文字列の比較でも「=」や「<>」などの演算子が使えます。

5. AND(アンド)とOR(オア)で条件を組み合わせる

5. AND(アンド)とOR(オア)で条件を組み合わせる
5. AND(アンド)とOR(オア)で条件を組み合わせる

複数の条件を組み合わせたいときは、AND(アンド)やOR(オア)を使います。

  • AND:両方の条件を満たすものを取得
  • OR:どちらかの条件を満たすものを取得
SELECT name FROM employees WHERE age >= 30 AND department = '営業';

この場合、「30歳以上」かつ「営業部」の社員だけを取得します。ORを使えば、「30歳以上」または「営業部」のどちらかに当てはまる社員が選ばれます。

6. BETWEEN(ビトウィーン)で範囲検索

6. BETWEEN(ビトウィーン)で範囲検索
6. BETWEEN(ビトウィーン)で範囲検索

WHERE句では、BETWEEN(ビトウィーン)を使うことで、特定の範囲に含まれるデータを取得できます。

SELECT name, age FROM employees WHERE age BETWEEN 20 AND 30;

この例では、年齢が20歳以上30歳以下の社員を取得します。BETWEENを使うと範囲指定がわかりやすくなります。

7. LIKE句(ライクク)であいまい検索

7. LIKE句(ライクク)であいまい検索
7. LIKE句(ライクク)であいまい検索

文字列の一部を検索したい場合は、LIKE(ライク)を使います。パーセント記号(%)を使うと、部分一致で検索できます。

SELECT name FROM employees WHERE name LIKE '%田%';

この例では、名前に「田」が含まれている社員を探します。たとえば「田中」「山田」「高田」などが該当します。LIKE句は検索機能でよく使われる重要な構文です。

8. IN句(インク)で複数の値を指定

8. IN句(インク)で複数の値を指定
8. IN句(インク)で複数の値を指定

WHERE句では、IN(イン)を使って複数の値をまとめて指定できます。

SELECT name FROM employees WHERE department IN ('営業', '総務', '開発');

このように書くと、「営業」「総務」「開発」のいずれかの部署に所属する社員を取得します。複数の条件をORでつなぐよりも簡潔に書けるのが特徴です。

9. NULL(ヌル)を扱うときの注意

9. NULL(ヌル)を扱うときの注意
9. NULL(ヌル)を扱うときの注意

データベースの中には「値が存在しない」状態を表すNULL(ヌル)という特殊な値があります。NULLを比較するときは=ではなくIS NULLIS NOT NULLを使います。

SELECT name FROM employees WHERE address IS NULL;

この文は、住所(address)が登録されていない社員を探します。NULLは「空文字」や「0」とは違うので、注意が必要です。

10. WHERE句の登場と歴史

10. WHERE句の登場と歴史
10. WHERE句の登場と歴史

WHERE句は、1970年代に登場したリレーショナルデータベース(RDB/アールディービー)で誕生しました。当時から「条件を指定して検索する」という考え方は変わっておらず、現在もMySQL(マイエスキューエル)やPostgreSQL(ポストグレスキューエル)、Oracle(オラクル)など、あらゆるデータベース製品で使われています。

プログラミング言語やアプリケーションでも、WHERE句を使った検索処理は基本中の基本です。Webアプリのユーザー検索、在庫の抽出、売上分析など、あらゆる場面で活用されています。

11. 初心者が覚えておくポイント

11. 初心者が覚えておくポイント
11. 初心者が覚えておくポイント

WHERE句は、SQLを学ぶ上で避けて通れない構文です。まずは「=」「>」「<」のような基本的な比較演算子から慣れていきましょう。そのうえで、ANDやOR、LIKE、INなどの組み合わせ方を練習すれば、自由自在にデータを検索できるようになります。

データベース操作の基礎を固めるには、WHERE句を理解することがとても大切です。ゆっくり丁寧に覚えていけば、実務でも必ず役立つスキルになります。

カテゴリの一覧へ
新着記事
New1
基本情報技術者試験
クライアントサーバシステムとは?初心者でもわかるネットワークの基本構成をやさしく解説
New2
基本情報技術者試験
分散処理とは?初心者でもわかるコンピュータの処理方式をやさしく解説
New3
情報セキュリティマネジメント試験
ブラックリストとは何かをやさしく解説!初心者でもわかる仕組みと活用例
New4
基本情報技術者試験
集中処理とは?初心者でもわかるコンピュータ処理方式の基本用語をやさしく解説
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
FTP
220
FTPとは?初心者でもわかるファイル転送プロトコルの基本と仕組みを徹底解説!
No.2
Java&Spring記事人気No2
基本情報技術者試験
NIC
212
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.3
Java&Spring記事人気No3
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.4
Java&Spring記事人気No4
基本情報技術者試験
URL
187
URLとは?初心者でもわかるWebリンクの仕組みと役割をやさしく解説!
No.5
Java&Spring記事人気No5
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.6
Java&Spring記事人気No6
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
基本情報技術者試験
スキーマ(Schema)とは?データベースの基本構造を初心者向けに解説
No.8
Java&Spring記事人気No8
基本情報技術者試験
ハブとは?初心者でもわかるネットワーク接続装置の基本と仕組み