SQL SELECT 範囲で指定する(between)

SQLのselect文のbetweenで範囲で指定して検索するサンプルです。

目次

範囲指定 条件を範囲で指定する
  Date型の項目を範囲で指定する
  Betweenの否定

条件を範囲で指定する

select * from テーブル名
where 項目名 betweenand

select文の条件に項目名 between 値 and 値とすると範囲を指定し検索できます。
betweenは、間にという意味です。

以下のテーブルがあるとします。

syainテーブル
id name romaji
1 鈴木 suzuki
2 田中 tanaka
3 佐藤 sato
4 竹田 takeda
5 渡辺 watanabe

SQL

上記テーブルに対して条件にbetweenを指定します。

select * from syain
where ID between 2 and 4;

2行目は、betweenでIDの2から4までを指定しています。

結果

結果は、以下のとおりです。

syainテーブル
id name romaji
2 田中 tanaka
3 佐藤 sato
4 竹田 takeda

条件に指定したIDの2から4までのデータを取得できます。

betweenを使用しない場合

betweenの代わりに不等号でも条件を指定できます。

select * from syain
where ID >= 2 and ID <= 4;

Date型の項目を範囲で指定する

Date型の項目を範囲で指定するサンプルです。(Oracle)

以下のテーブルがあるとします。

syainテーブル
id name date1(date型)
1 鈴木 2020/06/28 11:29:45
2 田中 2020/06/28 12:41:26
3 佐藤 2020/06/28 12:32:41
4 竹田 2020/06/28 12:18:05
5 渡辺 2020/06/28 13:16:27

SQL

上記テーブルのdate型の項目に対して条件にbetweenを指定します。

select * from syain
where date1 between '2020/06/28 12:00:00' and '2020/06/28 13:00:00';

2行目は、年月日と時分秒を指定しています。

結果

結果は、以下のとおりです。

syainテーブル
id name date1(date型)
2 田中 2020/06/28 12:41:26
3 佐藤 2020/06/28 12:32:41
4 竹田 2020/06/28 12:18:05

条件に指定したdate型項目の指定した間のデータを取得できます。

Betweenの否定

select * from テーブル名
where 項目名 not between 値 and 値

Betweenで否定を指定できます。

以下のテーブルがあるとします。

syainテーブル
id name romaji
1 鈴木 suzuki
2 田中 tanaka
3 佐藤 sato
4 竹田 takeda
5 渡辺 watanabe

SQL

上記テーブルに対して条件にbetweenの否定を指定します。

select * from syain
where ID not between 2 and 4;

2行目は、betweenの前にnotがあります。

結果

結果は、以下のとおりです。

syainテーブル
id name romaji
1 鈴木 suzuki
5 渡辺 watanabe

条件に指定した範囲外のIDの1と5のデータを取得できます。

関連の記事

SQL SELECT (IN演算子) 複数の値を条件にする
SQL SELECT 前方一致、あいまい検索(like)
SQL SELECT 結果の並び順を指定する(order by)

△上に戻る