BETWEENとNOT BETWEENの使い方
「BETWEEN」、「NOT BETWEEN」を使うと列の値に対して、その値の範囲を指定できます。
目次
1. はじめに
ここでは、商品テーブル(Shouhin)を使って各種条件を指定してみましょう。
まずは、Shouhinの内容を確認してください。
SELECT * FROM Shouhin;
shouhin_id | name | name_kana | category_id | price |
---|---|---|---|---|
1 | アスパラガス | あすぱらがす | 1 | 256 |
2 | かぼちゃ | かぼちゃ | 1 | 300 |
3 | キャベツ | きゃべつ | 1 | 128 |
・ ・ ・ |
Shouhinの全データ(全行)が取得されました。
このデータに対して、BETWEENとNOT BETWEENを指定して行を絞り込んでいきます。
2. BETWEENの使い方
「BETWEEN」で列の値に対して、値の範囲を指定することで、その範囲内にある行を取り出すことができます。
構文
最小値、最大値には、数値や年月日(Y-m-d形式)、年月日時間(Y-m-d H:i:s形式)などを指定することが多いです。
商品テーブルから値段が200~1000円の商品を取り出してみます。
SELECT
*
FROM
Shouhin
WHERE
price BETWEEN 200 AND 1000
shouhin_id | name | name_kana | category_id | price |
---|---|---|---|---|
1 | アスパラガス | あすぱらがす | 1 | 256 |
2 | かぼちゃ | かぼちゃ | 1 | 300 |
4 | トマト | とまと | 1 | 328 |
・ ・ ・ |
商品テーブルから値段が200~1000円の商品を取り出せました。
なお、比較演算子と論理演算子「AND」を組み合わせてもBETWEENと同様の結果を得ることができます。
下のSQLは、上の「BETWEEN」を使ったSQLを、比較演算子と論理演算子「AND」に置き換えたものです。
SELECT
*
FROM
Shouhin
WHERE
price >= 200 AND price <= 1000
shouhin_id | name | name_kana | category_id | price |
---|---|---|---|---|
1 | アスパラガス | あすぱらがす | 1 | 256 |
2 | かぼちゃ | かぼちゃ | 1 | 300 |
4 | トマト | とまと | 1 | 328 |
・ ・ ・ |
比較演算子と論理演算子「AND」との組み合わせによっても「BETWEEN」を使ったときと同じ結果が得られます。
3. NOT BETWEENの使い方
「NOT BETWEEN」で列の値に対して、値の範囲を指定することで、その範囲外にある行を取り出すことができます。
構文
最小値、最大値には、数値や年月日(Y-m-d形式)、年月日時間(Y-m-d H:i:s形式)などを指定することが多いです。
商品テーブルから値段が200~1000円以外の商品を取り出してみます。
SELECT
*
FROM
Shouhin
WHERE
price NOT BETWEEN 200 AND 1000
shouhin_id | name | name_kana | category_id | price |
---|---|---|---|---|
3 | キャベツ | きゃべつ | 1 | 128 |
4 | キュウリ | きゅうり | 1 | 150 |
6 | ナス | なす | 1 | 130 |
・ ・ ・ |
商品テーブルから値段が200~1000円以外の商品を取り出せました。
なお、比較演算子と論理演算子「OR」を組み合わせてもBETWEENと同様の結果を得ることができます。
下のSQLは、上の「NOT BETWEEN」を使ったSQLを、比較演算子と論理演算子「OR」に置き換えたものです。
SELECT
*
FROM
Shouhin
WHERE
price <= 200 OR price >= 1000
shouhin_id | name | name_kana | category_id | price |
---|---|---|---|---|
3 | キャベツ | きゃべつ | 1 | 128 |
4 | キュウリ | きゅうり | 1 | 150 |
6 | ナス | なす | 1 | 130 |
・ ・ ・ |
比較演算子と論理演算子「OR」との組み合わせによっても「NOT BETWEEN」を使ったときと同じ結果が得られます。
4. まとめ
「BETWEEN」と「NOT BETWEEN」の使い方について確認しました。
「BETWEEN」は、値の範囲を指定してその範囲内の行を取り出す際に使用できます。
「NOT BETWEEN」は、値の範囲を指定してその範囲外の行を取り出す際に使用できます。
また、「BETWEEN」、「NOT BETWEEN」の代わりに比較演算子と論理演算子を使っても同じ結果を得ることができます。
「BETWEEN」と「NOT BETWEEN」は、実際の所あまり使わない機能かもしれません。
とはいえ、情報技術関連の試験などでは、これらが出題されていることもあるので、その使い方だけは覚えておきましょう。
次は、「LIKEの使い方(文字列のパターンマッチング)」についてです。