SQL BETWEEN 演算子

SQL BETWEEN 演算子

BETWEEN 演算子は指定された範囲内の値を選択します。値は数字、テキスト、または日付などがあります。

BETWEEN 演算子は両端を含みます:開始値と終了値が含まれます。

価格が 10 から 20 の間のすべての製品を選択します:

SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;

構文

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

デモデータベース

以下は、例に使用される Products テーブルからの選択です:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 – 12 oz bottles 19
3 Aniseed Syrup 1 2 12 – 550 ml bottles 10
4 Chef Anton’s Cajun Seasoning 2 2 48 – 6 oz jars 22
5 Chef Anton’s Gumbo Mix 2 2 36 boxes 21.35

NOT BETWEEN

前の例の範囲外の製品を表示するには、NOT BETWEEN を使用します:

SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;

BETWEEN と IN

以下の SQL 文は、価格が 10 から 20 の間であり、CategoryID が 1、2、または 3 のいずれかであるすべての製品を選択します:

SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20
AND CategoryID IN (1,2,3);

BETWEEN テキスト値

以下の SQL 文は、ProductName が ‘Carnarvon Tigers’ と ‘Mozzarella di Giovanni’ の間の製品をすべて選択します(アルファベット順):

SELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;

以下の SQL 文は、ProductName が ‘Carnarvon Tigers’ と “Chef Anton’s Cajun Seasoning” の間の製品をすべて選択します:

SELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND "Chef Anton's Cajun Seasoning"
ORDER BY ProductName;

NOT BETWEEN テキスト値

以下の SQL 文は、ProductName が ‘Carnarvon Tigers’ と ‘Mozzarella di Giovanni’ の間にない製品をすべて選択します:

SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;

BETWEEN 日付

以下の SQL 文は、OrderDate が ‘1996-07-01’ から ‘1996-07-31’ の間のすべての注文を選択します:

SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';

または:

SELECT * FROM Orders
WHERE OrderDate BETWEEN #07/01/1996# AND #07/31/1996#;

サンプルテーブル

以下は、例に使用される Orders テーブルからの選択です:

OrderID CustomerID EmployeeID OrderDate ShipperID
10248 90 5 7/4/1996 3
10249 81 6 7/5/1996 1
10250 34 4 7/8/1996 2
10251 84 3 7/9/1996 1
10252 76 4 7/10/1996 2