SELECT ... WHERE (列名) BETWEEN (範囲開始値) AND (範囲終了値)
SQLで範囲を指定してレコードを検索する方法について紹介します。
SQLで範囲を指定した条件にマッチするレコードを検索したい場合があります。
値の範囲を条件にする場合は、BETWEEN演算子を用います。
SELECT ... WHERE (列名) BETWEEN (範囲開始値) AND (範囲終了値)
(列名)
の値が(範囲開始値)
以上(範囲終了値)
のレコードを一致の条件にします。
次のテーブルを用意します。
id | name | price | category |
---|---|---|---|
1 | Penguin | 250 | Bird |
2 | Bear | 1050 | Mammal |
3 | Duck | 150 | Bird |
4 | Camel | 550 | Mammal |
5 | Owl | 185 | Bird |
6 | Whale | 880 | Mammal |
以下のSQLを実行します。
select * from ProductsA where price between 250 and 880
where price between 250 and 880
の条件によりpriceが250以上880以下のレコードを求めます。
id | name | price | category |
---|---|---|---|
1 | Penguin | 250 | Bird |
4 | Camel | 550 | Mammal |
6 | Whale | 880 | Mammal |
以下のSQLと等価になります。
select * from ProductsA where 250 <= price and price <= 880
]}
#(caption="補足2"){{開始値より終了値のほうが大きい値である必要があります。
先の例で、下記のSQLを実行した場合は何も結果を返しません。
select * from ProductsA where price between 880 and 250
]}