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
この記事は役に立ちましたか?