指定した値の範囲と比較

広告

条件式を記述する時にカラムの値が特定の範囲内に含まれているかどうかを調べることができるBETWEEN句の使い方について解説します。

カラムの値が値1から値2の間に含まれているかどうか(値1や値2に等しい場合も含みます)を調べる場合にBETWEEN句を使用します。書式は次の通りです。

SELECT カラム名 , ... FROM テーブル名
 WHERE カラム BETWEEN 値1 AND 値2;

カラムの値が値1と値2の間に含まれているデータを取得します。これは比較演算子と論理演算子を使って次のように記述した場合と同じです。

SELECT カラム名 , ... FROM テーブル名
 WHERE カラム >= 値1 AND カラム <= 値2;

またNOT演算子を組み合わせることで指定した範囲に含まれて居ない場合のデータを取得することもできます。

SELECT カラム名 , ... FROM テーブル名
 WHEREカラム NOT BETWEEN 値1 AND 値2;

この場合はカラムの値が値1と値2の間に含まれていない場合にデータを取得します。

----

それでは実際に試してみます。次のようなテーブルを作成しました。

create table user(name text, old integer, address text);

p4-1

いくつかのデータが格納されています。取得するデータの条件を指定しないでデータを取得した場合は次のようになります。

select * from user;

p4-2

それではBETWEEN句を使って範囲の指定をしてみます。次の例では「old」カラムの値が20以上26以下のデータを取得しています。

select * from user where old between 20 and 26;

p4-3

次の例では「address」カラムの値が「'J'」から「'P'」の間に含まれるデータを取得しています。

select * from user where address between 'J' and 'P';

p4-4

このように数値以外の値が格納されているカラムであってBETWEEN句を使用することができます。

SQLite入門の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)