【SQL】BETWEEN条件


ORACLEでSQLのBETWEEN条件を指定するときの書き方を紹介します。

SELECT文のサンプルは↓で多数紹介していますので参考にしてください。
>>【SQL】SELECT文の書き方:サンプル多数あり

BETWEEN条件のSQL構文

BETWEEN条件を使うことで、値1以上、値2以下の値のデータを検索します。

SELECT 列名 FROM テーブル名 WHERE 列名 BETWEEN 値1 AND 値2;
※取得結果はSELECT 列名 FROM テーブル名 WHERE 列名 >= 値1 AND 列名 <= 値2;と同じになります。

BETWEEN条件のSQLサンプル

例えば以下のデータの中から債権限度額が1,000,000以上3,000,000の値のデータを検索する場合です。

・サンプルデータ

顧客番号 担当部門 名前 債権限度額
0001 10 鈴木 1,000,000
0002 20 田中 2,000,000
0003 20 高橋 3,000,000
0004 10 鈴木 4,000,000

ではSQLを実行します。
SELECT 顧客番号,担当部門,顧客名 FROM 顧客マスタ
WHERE BETWEEN 1000000 AND 3000000;

・検索結果

顧客番号 担当部門 名前 債権限度額
0001 10 鈴木 1,000,000
0002 20 田中 2,000,000
0003 20 高橋 3,000,000

NOT BETWEEN条件

NOT BETWEEN条件を使うことで、値1以上、値2以下でない値のデータを検索します。

SELECT 列名 FROM テーブル名 WHERE 列名 NOT BETWEEN 値1 AND 値2;
※取得結果はSELECT 列名 FROM テーブル名 WHERE 列名 < 値1 OR 列名 > 値2;と同じになります。

NOT BETWEEN条件のSQLサンプル

例えば以下のデータの中から債権限度額が2,000,000以上3,000,000以下に一致しない値のデータを検索する場合です。

・サンプルデータ

顧客番号 担当部門 名前 債権限度額
0001 10 鈴木 1,000,000
0002 20 田中 2,000,000
0003 20 高橋 3,000,000
0004 10 鈴木 4,000,000

ではSQLを実行します。
SELECT 顧客番号,担当部門,顧客名 FROM 顧客マスタ
WHERE NOT BETWEEN 2000000 AND 3000000;

・検索結果

顧客番号 担当部門 名前 債権限度額
0001 10 鈴木 1,000,000
0004 10 鈴木 4,000,000

最後に

この他にも、SELECT文には様々な機能や使い方があります。
詳しくは「【SQL】SELECT文の書き方:サンプル多数あり」で解説していますのでぜひ参考にしてください。