トップDML選択(基本) ≫ 指定した範囲のレコードを検索する

指定した範囲のレコードを検索する

指定した範囲のレコードを検索するにはBETWEEN句を使用します.

BETWEEN

BETWEEN句の基本構文は以下のようになります.

SELECT 列名1 ,列名2, ...
FROM テーブル名
WHERE 列名 BETWEEN 下限 AND 上限

BETWEEN句は値が下限以上,上限以下の場合に真を返します. (境界値も含むことに注意してください.) 上記のBETWEEN句を用いたSQLと下記の比較演算子を用いたSQLは等価になります.

SELECT 列名1 ,列名2, ...
FROM テーブル名
WHERE 列名 >= 下限 AND 列名 <= 上限

またBETWEEN句はNOT句と組み合わせることで,指定した範囲に含まれていないデータを取得することができます.

SELECT 列名1 ,列名2, ...
FROM テーブル名
WHERE 列名 NOT BETWEEN 下限 AND 上限

上記のNOT BETWEENを用いたSQLと下記の比較演算子を用いたSQLは等価になります.

SELECT 列名1 ,列名2, ...
FROM テーブル名
WHERE 列名 > 下限 OR 列名 < 上限

SQL サンプル

例として以下のテーブル(従業員マスタ)から20歳から30歳までの従業員を検出します.

従業員マスタ

従業員コード従業員名年齢
00001チャーリー・ブラウン19
00002ルシール・ヴァン・ぺルト20
00003ライナス・ヴァン・ぺルト21
00004シュローダー29
00005ペパーミント・パティ30
00006マーシー31

SQL

SELECT * FROM 従業員マスタ
WHERE 年齢 BETWEEN 20 AND 30

結果

従業員コード従業員名年齢
00002ルシール・ヴァン・ぺルト20
00003ライナス・ヴァン・ぺルト21
00004シュローダー29
00005ペパーミント・パティ30

注意.
サンプルで使用するテーブルは説明のため正規化を行っていなかったり,一般的でない列が含まれている場合があります.ご容赦ください.