【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文の書き方:サンプル多数あり」で解説していますのでぜひ参考にしてください。