SQL

【SQL】SELECT BETWEEN句の使い方

2021年1月19日

SELECT BETWEEN句の基本構文

SELECTの条件式に「BETWEEN」を使用すると、列(カラム)の値が指定した範囲内に含まれているかどうかという条件式を記述できます。

BETWEEN句の基本構文

SELECT 列名 FROM テーブル名 WHERE 列名 BETWEEN 値1 AND 値2;

本記事では BETWEEN 句を使った条件式の記述方法について解説していきます。

また、下記の「userテーブル」に次のようなデータが格納されていることを前提としています。

【userテーブル】

ID (id)名前 (name)住所 (address)年齢 (age)
202000001鈴木一郎東京都渋谷区44
202000002佐藤次郎大阪府大阪市32
202000003田中三郎北海道札幌市24
202000004伊藤四郎沖縄県那覇市22
202000005斎藤五郎東京都品川区55

スポンサーリンク

BETWEEN句の使い方

SELECT文の条件に「BETWEEN」をつけることで、BETWEENで指定した範囲に含まれるデータを抽出できます。

■BETWEENの使用例

SELECT * FROM user WHERE age BETWEEN 22 AND 32;

■実行結果

+-----------+----------+--------------+------+
| id        | name     | address      | age  |
+-----------+----------+--------------+------+
| 202000002 | 佐藤次郎 | 大阪府大阪市 |   32 |
| 202000003 | 田中三郎 | 北海道札幌市 |   24 |
| 202000004 | 伊藤四郎 | 沖縄県那覇市 |   22 |
+-----------+----------+--------------+------+
3 rows in set (0.01 sec)

上記例では、SELECT文の条件に「age BETWEEN 22 AND 32」と指定することで、年齢が「22歳~32歳」の範囲に含まれているデータを抽出しています。

これは、次の比較演算子を使ったSQLと同じです。

■BETWEENを使わない場合の例

SELECT * FROM user WHERE age >= 22 AND age <=32;

NOT BETWEEN句の使い方

「BETWEEN」の前に「NOT」をつけることで、BETWEENで指定した範囲に含まれていないデータを抽出できます。

■NOT BETWEENの使用例

SELECT * FROM user WHERE age NOT BETWEEN 22 AND 32;

■実行結果

+-----------+----------+--------------+------+
| id        | name     | address      | age  |
+-----------+----------+--------------+------+
| 202000001 | 鈴木一郎 | 東京都渋谷区 |   44 |
| 202000005 | 斎藤五郎 | 東京都品川区 |   55 |
+-----------+----------+--------------+------+
2 rows in set (0.00 sec)

上記例では、SELECT文の条件に「age NOT BETWEEN 22 AND 32」と指定することで、年齢が「22歳~32歳」の範囲に含まれていないデータを抽出しています。

helpful