カテゴリ: PostgreSQL 更新日: 2026/03/06

PostgreSQLのBETWEEN完全ガイド|初心者でもわかる範囲検索とWHERE句の使い方

PostgreSQLのBETWEENで範囲検索を行う方法
PostgreSQLのBETWEENで範囲検索を行う方法

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

生徒

「年齢が二十歳から三十歳までの人を探したいんですけど、条件をたくさん書かないといけないんですか?」

先生

「実は、範囲をまとめて指定できるBETWEENという書き方があります」

生徒

「英語が苦手なんですが、BETWEENって難しくないですか?」

先生

「意味はとてもシンプルです。『この値とこの値の間』という指定を一行で書けます」

生徒

「パソコンをほとんど触ったことがなくても使えますか?」

先生

「紙の名簿で年齢を範囲指定する感覚で考えれば大丈夫です」

1. SQLとは何か?

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

SQLは、データベースという「情報を整理して保存する箱」に指示を出すための言葉です。データベースの中では、情報は表の形で管理されています。

この表は、学校の名簿や会社の社員一覧表と同じように、行が一人分の情報、列が項目になっています。SQLを使うことで、この表の中から必要な行だけを探し出すことができます。

2. 条件検索とWHERE句の考え方

2. 条件検索とWHERE句の考え方
2. 条件検索とWHERE句の考え方

条件検索とは、表に書かれているすべての行を見るのではなく、「この条件に当てはまる行だけ見たい」と指定することです。

SQLではWHERE句を使って条件を指定します。例えば、年齢が二十歳以上の人だけを表示したい場合、その条件をWHERE句に書きます。

条件を組み合わせると、検索は少し長くなりがちですが、そこで役立つのがBETWEENです。

3. 検索に使うサンプルテーブル

3. 検索に使うサンプルテーブル
3. 検索に使うサンプルテーブル

ここでは、次のようなusersテーブルを使って説明します。


id | name     | age | email
---+----------+-----+-------------------
1  | 山田太郎 | 18  | taro@example.com
2  | 佐藤花子 | 22  | hanako@example.com
3  | 鈴木一郎 | 25  | ichiro@example.com
4  | 高橋次郎 | 30  | jiro@example.com
5  | 田中美咲 | 35  | misaki@example.com
6  | 小林健太 | 40  | kenta@example.com

この表には、年齢がバラバラの人が登録されています。この中から、年齢の範囲を指定して検索してみましょう。

4. BETWEENを使わない範囲検索の書き方

4. BETWEENを使わない範囲検索の書き方
4. BETWEENを使わない範囲検索の書き方

まずは、BETWEENを使わずに範囲検索をする方法です。


SELECT *
FROM users
WHERE age >= 20
AND age <= 30;

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

このように、二つの条件を書けば範囲検索はできます。ただし、条件が増えると読みづらくなります。

5. BETWEENで範囲検索をシンプルに書く

5. BETWEENで範囲検索をシンプルに書く
5. BETWEENで範囲検索をシンプルに書く

BETWEENを使うと、先ほどと同じ条件を一行で書けます。


SELECT *
FROM users
WHERE age BETWEEN 20 AND 30;

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

BETWEENは「以上」「以下」をまとめて指定します。二十歳も三十歳も、どちらも含まれている点が重要です。

6. BETWEENのイメージを日常生活で考える

6. BETWEENのイメージを日常生活で考える
6. BETWEENのイメージを日常生活で考える

BETWEENは、テストの点数で「六十点から八十点までの人」と探すイメージに近いです。境界の数字も含めて考えます。

そのため、「ちょうど三十歳の人を含めたくない」といった場合は、BETWEENではなく、比較演算子を使った方が分かりやすいこともあります。

7. 数値以外でも使えるBETWEEN

7. 数値以外でも使えるBETWEEN
7. 数値以外でも使えるBETWEEN

BETWEENは数値だけでなく、日付や文字の並びにも使えます。ここでは考え方だけ覚えておきましょう。


SELECT *
FROM users
WHERE age BETWEEN 25 AND 40;

id | name     | age | email
---+----------+-----+-------------------
3  | 鈴木一郎 | 25  | ichiro@example.com
4  | 高橋次郎 | 30  | jiro@example.com
5  | 田中美咲 | 35  | misaki@example.com
6  | 小林健太 | 40  | kenta@example.com

指定した範囲に入っている行が、まとめて表示されます。

8. BETWEENを使うときの注意点

8. BETWEENを使うときの注意点
8. BETWEENを使うときの注意点

BETWEENはとても便利ですが、「境界の値を含む」という特徴を必ず覚えておく必要があります。

また、範囲の順番を間違えると結果が出ません。必ず「小さい値 AND 大きい値」の順で書きます。

初心者のうちは、実行結果を見ながら、どの行が表示されるかを確認することで理解が深まります。

カテゴリの一覧へ
新着記事
New1
MySQL
MySQLのLIMIT(OFFSET付き)の使い方を完全解説!SQL初心者でもわかるデータ取得件数の制御方法
New2
PostgreSQL
PostgreSQL集約関数のNULL完全解説|GROUP BYでNULLはどう扱われるのか初心者向けに説明
New3
MySQL
MySQLのLIMITの使い方を完全解説!初心者でも理解できるSQLの取得件数制御(ORDER BY・LIMIT入門)
New4
MySQL
【MySQL入門】LIMITとは何か?SELECT文で取得件数を制限する方法を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
PostgreSQL
PostgreSQLのUPDATE文の使い方(部分更新・条件更新)
No.2
Java&Spring記事人気No2
PostgreSQL
PostgreSQLでよく使うデータ型一覧(文字列・数値・日付)
No.3
Java&Spring記事人気No3
PostgreSQL
PostgreSQLでスキーマを分割するメリット
No.4
Java&Spring記事人気No4
PostgreSQL
PostgreSQLのGROUP BY完全入門!初心者でもわかる複数列での集計方法
No.5
Java&Spring記事人気No5
PostgreSQL
PostgreSQLのSERIALとIDENTITYの違いを解説
No.6
Java&Spring記事人気No6
PostgreSQL
PostgreSQLの主キー・外部キーを完全解説!初心者でもわかる設定方法と考え方
No.7
Java&Spring記事人気No7
PostgreSQL
PostgreSQLのORDER BYの基本(昇順・降順)
No.8
Java&Spring記事人気No8
PostgreSQL
PostgreSQLスキーマ作成・削除完全ガイド!初心者でもわかるデータベース設計の基礎