SQL BETWEEN 运算符

在 SQL 中,BETWEEN 运算符与 WHERE 子句一起使用时,用于选择给定范围内的值。

示例

-- select rows where the amount is between 200 and 600

SELECT * 
FROM Orders
WHERE amount BETWEEN 200 AND 600;

这里,SQL 命令从 Orders 表中选择所有列,其中 amount200600 之间(包括 200600)。


SQL BETWEEN 语法

SELECT column1, column2, ...
FROM table
WHERE column BETWEEN value1 AND value2;

这里,

  • column1, column2, ... 是您要筛选的列
  • table 是表的名称。
  • column 是我们要指定值范围的列的名称
  • BETWEEN 是一个运算符,用于为列指定值的范围
  • value1value2 是范围的下限和上限

示例:SQL BETWEEN

SELECT item, amount
FROM Orders
WHERE amount BETWEEN 300 AND 500;

这里,我们从 Orders 中选择了 itemamount 列,其中金额在 300500 之间(包括 300500)。

SQL BETWEEN Operator
示例:SQL BETWEEN 运算符

SQL NOT BETWEEN 运算符

NOT BETWEEN 运算符用于排除与范围内值匹配的行。它返回除了被排除的行之外的所有行。

让我们看一个例子。

-- exclude rows with amount between 300 and 500

SELECT item, amount
FROM Orders
WHERE amount NOT BETWEEN 300 AND 500;

这里,我们从 Orders 中选择了所有项目,但排除了金额在 300500 之间的行(300500 也被排除)。

How to use NOT BETWEEN Operator in SQL
示例:SQL NOT BETWEEN 运算符

SQL BETWEEN 运算符与文本

BETWEEN 运算符也适用于文本数据。

-- select rows where items begin with letters between 'I' and 'L' inclusive
-- this includes all items starting with 'I', 'J', 'K', and any items starting with 'L'

SELECT item, amount
FROM Orders
WHERE item BETWEEN 'I' AND 'L';

这里,SQL 命令选择所有项目名称以字母 IL 开头的订单。

How to use BETWEEN Operator With Text in SQL
示例:SQL BETWEEN 运算符与文本

通常,以终点 (L) 开头的单词不会被选中。

如果您需要包含所有以 L 开头的单词,我们可以使用 ~

-- select rows where items begin with letters between 'I' and 'L'
-- include all items beginning with 'L' followed by other characters

SELECT item, amount
FROM Orders
WHERE item BETWEEN 'I' AND 'L~';

SQL BETWEEN 日期

在 SQL 中,我们还可以使用 BETWEEN 来筛选两个日期之间的数据。

让我们看一个例子。

-- get the records of those teams
-- who registered between given dates

SELECT *
FROM Teams
WHERE registered BETWEEN '2021-01-01' AND '2022-11-01';

这里,我们选择了在 2021-01-012022-11-01 之间注册的团队。


另请阅读

在结束之前,让我们测试一下您对 SQL BETWEEN 运算符的知识!您能解决以下挑战吗?

挑战

编写一个 SQL 查询,检索所有在 21 世纪出版的书籍。

假设您有一个名为 Books 的表。此表的架构如下

Books

列名

数据类型

book_id

int

title

varchar(100)

日期

日期

sales

int

图书馆希望追踪 21 世纪出版的书籍的销量。


您的任务是编写一个 SQL 查询,检索所有在 2000 年 1 月 1 日 或之后出版的书籍,并按销量降序排序。


注意:21 世纪从 2000 年 1 月 1 日2099 年 12 月 31 日

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战