SQL Between

创建于 2024-12-02 / 44
字体: [默认] [大] [更大]

SQL BETWEEN 操作符

BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

BETWEEN 操作符包括开始值和结束值。

BETWEEN 语法

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

演示数据库

以下是从 Northwind 示例数据库的 产品(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 1 2 48 - 6 oz jars 22
5 Chef Anton's Gumbo Mix 1 2 36 boxes 21.35

BETWEEN 实例

以下 SQL 语句选择价格介于 10 和 20 之间的所有产品:

实例

SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20; 亲自试一试 »

NOT BETWEEN 实例

要显示上一示例范围之外的产品,请使用 NOT BETWEEN:

实例

SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20; 亲自试一试 »

带有 IN 的 BETWEEN 操作符实例

下面的 SQL 语句选择价格介于 10 和 20 之间的所有产品。此外请勿显示 CategoryID 为1、2或3的产品:

实例

SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20
AND CategoryID NOT IN (1,2,3); 亲自试一试 »

带有文本值的 BETWEEN 操作符实例

以下 SQL 语句选择所有产品,其产品名称介于 Carnavon Tigers 和 Mozzarella di Giovanni 之间:

实例

SELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName; 亲自试一试 »

以下SQL语句选择所有产品,产品名称介于 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语句选择了所有产品,其产品名称不在 Carnarvon Tigers 和 Mozzarella di Giovanni 之间:

实例

SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName; 亲自试一试 »

示例表

以下是从 Northwind 示例数据库的 "订单(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

带有日期值的 BETWEEN 操作符实例

以下 SQL 语句选择 OrderDate 介于 "1996年7月1日" 和 "1996年7月31日" 之间的所有订单:

实例

SELECT * FROM Orders
WHERE OrderDate BETWEEN #01/07/1996# AND #31/07/1996#; 亲自试一试 »

或:

实例

SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31'; 亲自试一试 »

学习训练

练习题:

使用 BETWEEN 运算符选择 Price 列的值在 10 之间的所有记录 和 20。

SELECT * FROM Products
WHERE Price 
;

开始练习



0 人点赞过