【保存版】SQLのBETWEENを覚えよう|実例付きで解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新月:2023年5月)

✔以下の疑問をお持ちの方へ向けた記事です

「SQLのBETWEEN句とは何で、どのように使うのだろうか?」

「SQLのBETWEEN句の使い方を学びたい」

「SQLのBETWEEN句の具体的な使用例を見て理解したい」

✔この記事を読むことで得られる知識

  • SQLのBETWEEN句の基本的な使い方
  • BETWEEN句の応用法
  • SQLのBETWEEN句を用いた具体的な使用例

当記事では、SQLのBETWEEN句の基本的な使い方から、その応用法まで、具体的な例を交えて詳細に説明します。

ぜひ最後までお読みください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

SQLの基本的な概念

こちらでは、データベースとSQLの関係、そしてSQLの主要なコマンドについてお伝えしていきます。SQLの基本概念を理解することで、BETWEEN句の理解がより深まります

  • SQLとは
  • データベースとSQLの関係
  • SQLの主要なコマンドの概要

SQLとは

SQL(Structured Query Language)は、データベースを操作するためのプログラミング言語です。

データの追加、更新、削除、検索など、データベース管理システム(DBMS)とやり取りする際に使用されます。

SQLは多くのデータベースシステムで標準的に採用されており、幅広い用途で活用されています。

例えば以下は、特定期間内に販売済された商品だけ取得する例です。

SELECT * FROM Products
    WHERE QuantitySold > 0
    AND SaleDate BETWEEN '2023-01-01' AND '2023-03-31';

今回はこちらのBETWEENについて学んでいきます。

データベースとSQLの関係

データベースは、情報を整理して保存する仕組みです。

それぞれを定義すると以下のようになります。

  • データベース管理システム(DBMS):データベースを操作・管理するためのソフトウェア
  • SQL:DBMSとデータベースの間で情報のやり取りを行うための言語

SQLコマンドを使って、データの追加・更新・削除・検索などが可能になるのです。

SQLの主要なコマンドの概要

SQLには、主要なコマンドがいくつかあります。S

  • SELECT文データを検索
  • INSERT文:新しいデータを追加
  • UPDATE文:既存のデータを変更
  • DELETE文:データを削除
  • WHERE句:検索条件を指定
  • ORDER BY句:結果を並べ替える

今回は、その中でも特に「BETWEEN」演算子に焦点を当てて説明します。

SQLの比較演算子

こちらでは、比較演算子の概要と主要な比較演算子についてお伝えしていきます。

比較演算子を理解することで、データを適切に抽出するための条件を作る能力が高まります

  • 比較演算子の概要
  • 主要な比較演算子の紹介

比較演算子の概要

比較演算子は、二つの値や式の比較を行うための記号です。

SQLでは以下のようなものがあります。

名前記号説明
等しい=左辺と右辺が等しいかどうかを比較10 = 10
等しくない<>左辺と右辺が等しくないかどうかを比較10 <> 20
大なり>左辺が右辺よりも大きいかどうかを比較10 > 5
大なりイコール>=左辺が右辺以上かどうかを比較10 >= 10
小なり<左辺が右辺よりも小さいかどうかを比較5 < 10
小なりイコール<=左辺が右辺以下かどうかを比較10 <= 10

これらの演算子は、SELECT文のWHERE句などで使用され、データの抽出条件を指定します。

こちらの記事ではWHEREの構文などについて詳しく説明しています。

上記以外の比較演算子(句)の紹介

SQLの主要な比較演算子をいくつか紹介します。

  • BETWEEN
  • LIKE
  • IN

これらは、言語によっては存在する少し特殊な演算子といえます。

LIKEについて学びたい方はこちらをご覧ください。

BETWEEN演算子の紹介

こちらでは、BETWEEN演算子の定義と機能、そして具体的なテーブルを使用したBETWEENの使用例についてお伝えしていきます。

BETWEEN演算子は範囲指定の際に非常に役立ちます。

  • BETWEEN演算子の定義と機能
  • 具体的なテーブルを使用したBETWEEN

BETWEEN演算子の定義と機能

BETWEEN演算子はSQLの比較演算子の一つで、指定した2つの値の範囲内にある値を選択するために使用されます。

基本的な構文はこちら。

カラム(列)名 BETWEEN 範囲の始まり AND 範囲の終わり

この場合、カラム(列)名の値が、指定の範囲内であれば真を返します。

具体的なテーブルを使用したBETWEENの使用例

具体的なテーブルを用いたBETWEENの使用例を見てみましょう。

例えば社員テーブルがあり、その中には社員ID、名前、年齢のカラムがあるとします。

このテーブルから年齢が30歳から40歳までの社員を抽出したい場合、以下のようにBETWEEN演算子を使用します。

SELECT * FROM employees WHERE age BETWEEN 30 AND 40;

このSQL文は、年齢が30歳以上40歳以下の全ての社員のデータを取得します。

NOT BETWEEN演算子の使い方

こちらでは、NOT BETWEENの定義と機能、そしてNOT BETWEENの使用例についてお伝えしていきます。

NOT BETWEENは、指定した範囲外の値を選択するために使います

  • NOT BETWEENの定義と機能
  • NOT BETWEENの使用例

NOT BETWEENの定義と機能

NOT BETWEEN演算子は、指定した2つの値の範囲外にある値を選択するために使用されます。

基本的な構文はこちら。

カラム(列)名 NOT BETWEEN 範囲の始まり AND 範囲の終わり

この場合、カラム(列)名の値が、指定の範囲外であれば真を返します。

NOT BETWEENの使用例

NOT BETWEENの使用例を見てみましょう。先ほどの社員テーブルから、年齢が30歳未満または40歳超の社員を抽出したい場合、以下のようにNOT BETWEEN演算子を使用します。

SELECT * FROM employees WHERE age NOT BETWEEN 30 AND 40;

このSQL文は、年齢が30歳未満または40歳超の全ての社員のデータを取得します。

WHERE文についてはこちらをどうぞ。

BETWEEN演算子を使う際の注意点

こちらでは、範囲指定の注意点や文字列や日付に対するBETWEENの使用、そしてBETWEENの範囲にNULLが含まれる場合の挙動についてお伝えしていきます。

これらを理解することで、BETWEEN演算子をより正確に使えるようになります。

  • 範囲指定の注意
  • 文字列や日付に対するBETWEENの使用
  • BETWEENの範囲にNULLが含まれる場合の挙動

範囲指定の注意

BETWEEN演算子を使用する際の重要な注意点は、指定した値が両端を含む範囲を示すということです。

こちらの構文で説明します。

カラム(列)名 BETWEEN 範囲の始まり AND 範囲の終わり

列の値が、指定した範囲内にあるときだけでなく、どちらかと等しい場合でも真を返します。

この特性を理解することは、期待する結果を得るために非常に重要です。

文字列や日付に対するBETWEENの使用

BETWEEN演算子は数値だけでなく、日付や文字列にも使用できます。

たとえば、特定の期間内のデータを抽出する場合、以下のようなSQL文になります。

SELECT * FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';

このSQL文は、2022年の注文データを全て取得します。

また、アルファベット順で特定の範囲の顧客を選択する場合、以下のようにすることも可能です。

SELECT * FROM customers WHERE customer_name BETWEEN 'A' AND 'C';

このSQL文は、顧客名が’A’から始まるものから’C’から始まるものまでの顧客を抽出します。

BETWEENの範囲にNULLが含まれる場合の挙動

BETWEEN演算子の範囲指定にNULLが含まれる場合、その範囲に一致するどんな値も返さないという挙動を示します。

なぜならSQLでは、NULLは不確定を表し、どんな値とも等しくないという特性があるからです。

BETWEEN演算子の範囲にNULLが含まれると、結果も不確定となります。

この挙動を理解することは、意図しない結果を防ぐために重要です。

BETWEEN演算子と他の比較演算子の比較

ここでは、BETWEEN演算子と他の比較演算子、特にIN演算子や通常の比較演算子との違いについて説明します。

これにより、それぞれの演算子がどのような状況で使われ、どのように機能するかについて理解を深めることができます。

  • BETWEENとINの比較
  • BETWEENと通常の比較演算子の比較

BETWEENとINの比較

BETWEEN演算子とIN演算子は、両者ともに複数の値を対象とした比較を可能にしますが、使用方法と機能は大きく異なります。

  • BETWEEN演算子:指定した2つの値の間の全ての値を対象とする
  • IN演算子:指定した一連の値のいずれかと一致するものを対象とする

BETWEENは連続した範囲を、INは離散的な値の集合を対象としているのです。

INについてはこちらをご覧ください。

BETWEENと通常の比較演算子の比較

BETWEEN演算子は、ある値が2つの値の範囲内にあるかどうかを判断するために使用されます。

これは、2つの比較演算子(>= と <=)を組み合わせて使用することで同様の結果を得ることができます。

例えば以下の2つは同じ意味をなします。

  1. column_name BETWEEN value1 AND value2
  2. column_name >= value1 AND column_name <= value2

しかし、BETWEEN演算子を使用すると、このような比較を1つの簡潔な構文で表現することができます。

実世界でのBETWEEN演算子の使用例

ここでは、実際のビジネスシナリオでのBETWEEN演算子の使用例について見ていきましょう。

これにより、BETWEEN演算子がどのように実際の問題解決に役立つかを理解できます。

  • 在庫管理システムでの使用例
  • データ分析での使用例

在庫管理システムでの使用例

在庫管理システムでは、特定の数量範囲の商品を探すために、BETWEEN演算子を使用します。

例えば以下のSQL文は、在庫数が50から100の商品を検索します。

SELECT * FROM inventory WHERE quantity BETWEEN 50 AND 100;

このように、BETWEEN演算子は、特定の範囲内のデータを効率的に検索するための強力なツールとなります。

データ分析での使用例

また、データ分析の分野でもBETWEEN演算子は頻繁に使用されます。

特定の期間のデータを分析する際には、BETWEEN演算子を使用してその期間を指定できるからです。

以下は、2022年1月1日から2022年12月31日までの売上データを取得しています。

SELECT * FROM sales WHERE sale_date BETWEEN '2022-01-01' AND '2022-12-31';

このように、BETWEEN演算子は、データ分析において期間や範囲を指定するための強力なツールとなります。

まとめ

当記事の内容をまとめます。

  • BETWEEN演算子は、ある値が指定した2つの値の範囲内にあるかどうかを判断するためのSQL演算子
  • 数値だけでなく、日付や文字列に対しても使用可能
  • NOT BETWEEN演算子を使うことで、範囲外の値を検索することもできる

SQLは多くの機能と柔軟性を持っています。

今回学んだBETWEEN演算子の知識を活用し、さらに他のSQLの機能について学んでいくことで、より複雑で効率的なデータ操作と分析が可能になります。

この旅はここで終わりではなく、新たなスタートです。

さあ、次のステップに進みましょう。

タイトルとURLをコピーしました