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 |