【SQL】BETWEEN

BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。

操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期

注意:在Oracle中,BETWEEN ... AND 包含边界。

语法:

select column_name(s)

from table_name

where column_name

between value1 and value2;

例:

1. 查询employees表中salary在2600到2800之间的员工姓名

SQL> select last_name,salary from employees where salary between 2600 and 2800;

LAST_NAME                     SALARY
------------------------- ----------
OConnell                        2600
Grant                           2600
Tobias                          2800
Himuro                          2600
Mikkilineni                     2700
Atkinson                        2800
Seo                             2700
Matos                           2600
Geoni                           2800
Jones                           2800

10 rows selected.

2. 查询employees表中salary不在2300到17000之间的员工姓名

SQL> select last_name,salary from employees where salary not between 2300 and 17000;

LAST_NAME                     SALARY
------------------------- ----------
King                           24000
Markle                          2200
Olson                           2100
Philtanker                      2200

### SQL BETWEEN 运算符的用法及示例 SQL 中的 `BETWEEN` 运算符用于选取介于两个值之间的数据范围。这些值可以是数字、文本或者日期[^1]。`BETWEEN` 运算符是包含边界的,这意味着它会包括指定范围的起始值结束值。 #### 语法 以下是 `BETWEEN` 运算符的基本语法: ```sql SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; ``` - `value1` `value2` 定义了要查询的范围。 - 如果需要排除边界值,可以使用大于小于运算符替代。 #### 示例 假设有一个名为 `Products` 的表,其中包含以下列:`ProductID`, `ProductName`, `Price`。 1. **选择价格在 10 到 50 之间的所有产品**: ```sql SELECT ProductName, Price FROM Products WHERE Price BETWEEN 10 AND 50; ``` 2. **选择价格不在 10 到 50 之间的所有产品**(使用 NOT 关键字): ```sql SELECT ProductName, Price FROM Products WHERE Price NOT BETWEEN 10 AND 50; ``` 3. **选择产品名称以字母 A 到 M 开头的所有产品**(适用于字符串类型): ```sql SELECT ProductName FROM Products WHERE ProductName BETWEEN 'A' AND 'M'; ``` 4. **选择日期范围内的记录**: 假设表中有一列 `OrderDate`,可以按日期范围筛选订单: ```sql SELECT OrderID, OrderDate FROM Orders WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31'; ``` #### 注意事项 - `BETWEEN` 是包含边界的,这意味着 `value1` `value2` 都会被包含在结果集中[^2]。 - 如果需要对字符串进行比较,请确保字符串格式一致。 - 对于日期类型的比较,建议使用标准化的日期格式(如 `YYYY-MM-DD`),以避免解析错误。 ```sql -- 示例代码:查找价格在 50 到 100 之间且库存大于 0 的产品 SELECT ProductName, Price, Stock FROM Products WHERE Price BETWEEN 50 AND 100 AND Stock > 0; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值