スポンサーリンク

【SQL】BETWEEN句の使い方

記事内に広告が含まれています。

SQLのBETWEEN句は、指定された範囲内にデータがあるかどうかを確認するために使用されます。

この句は、範囲の開始値と終了値を指定し、その間にある値を検索します。

具体的な数値、日付、文字列など、さまざまなデータ型で使用可能です。

スポンサーリンク

BETWEENの基本構文

SELECT column_name
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
  • column_name
    チェックする対象の列
  • value1
    範囲の開始値
  • value2
    範囲の終了値

BETWEEN句を使用すると、value1からvalue2までの値が含まれた行が返されます。

value1value2も範囲に含まれる(両端を含む)という点に注意してください。

スポンサーリンク

数値の範囲を検索する例

例えば、商品の価格が100から300の間にある商品を検索する場合は、次のように記述します。

SELECT product_name, price
FROM products
WHERE price BETWEEN 100 AND 300;

このクエリは、価格が100以上300以下の商品を返します。

日付の範囲を検索する例

BETWEENは日付でも使用できます。

たとえば、2024年1月1日から2024年12月31日までの注文を検索したい場合は次のようになります。

SELECT order_id, order_date
FROM orders
WHERE order_date BETWEEN '2024-01-01' AND '2024-12-31';

文字列の範囲を検索する例

BETWEENを文字列に使用すると、アルファベット順に評価されます。たとえば、名前が「A」から「M」で始まる顧客を検索したい場合は、次のように記述します。

sqlコードをコピーするSELECT customer_name
FROM customers
WHERE customer_name BETWEEN 'A' AND 'M';

このクエリでは、名前がAからMの範囲に含まれるすべての顧客が返されます。

NOT BETWEENを使った例

BETWEENの逆の動作を行うには、NOT BETWEENを使用します。

たとえば、価格が100から300の範囲に含まれない商品を検索したい場合は、次のように記述します。

SELECT product_name, price
FROM products
WHERE price NOT BETWEEN 100 AND 300;

BETWEENとANDの注意点

  • BETWEEN包括的であり、範囲の開始値と終了値がそのまま結果に含まれます。
  • 値の型によっては、範囲が異なる結果を返すことがあります。
    たとえば、文字列のソート順や日付フォーマットに注意が必要です。

まとめ

SQLのBETWEEN句は、簡潔に範囲内のデータを検索できる強力なツールです。数値、日付、文字列など、さまざまなデータ型で使用できるため、効率的なデータ検索に役立ちます。以下のポイントに注意して活用しましょう。

  • 範囲は包括的であること(両端を含む)
  • 文字列や日付の範囲はソート順に影響される
  • NOT BETWEENを使用して範囲外のデータを検索可能

適切に使用することで、クエリのパフォーマンスや可読性を向上させることができます。

スポンサーリンク
SQL
著者SNS
タイトルとURLをコピーしました