BETWEENとNOT BETWEENの使い方| プログラミングの砂場

プログラミング学習やタイピング練習に役立つツールを公開しているサイトです。

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」で列の値に対して、値の範囲を指定することで、その範囲内にある行を取り出すことができます。

構文

SELECT 列名 FROM テーブル名 WHERE 列名 BETWEEN 最小値 AND 最大値

最小値、最大値には、数値や年月日(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」で列の値に対して、値の範囲を指定することで、その範囲外にある行を取り出すことができます。

構文

SELECT 列名 FROM テーブル名 WHERE 列名 NOT BETWEEN 最小値 AND 最大値

最小値、最大値には、数値や年月日(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の使い方(文字列のパターンマッチング)」についてです。

TOP