mysql如何使用between查询区间

BETWEEN操作符用于查询包含边界值的区间数据,语法为SELECT 列名 FROM 表名 WHERE 列名 BETWEEN 值1 AND 值2;例如查询成绩在80到90分之间的学生记录。

在 MySQL 中,BETWEEN 操作符用于选取介于两个值之间的数据范围,包括边界值。它常用于数字、日期或字符串的区间查询,语法简洁且效率较高。

基本语法

使用 BETWEEN 的基本语法如下:

SELECT 列名 FROM 表名 WHERE 列名 BETWEEN 值1 AND 值2;

其中,值1 是下限,值2 是上限,查询结果包含这两个边界值。

查询数字区间

例如,查询成绩在 80 到 90 分之间的学生:

SELECT * FROM students WHERE score BETWEEN 80 AND 90;

这条语句等同于:

SELECT * FROM students WHERE score >= 80 AND score

查询日期区间

BETWEEN 非常适合用于日期范围查询。比如查找 2025 年 5 月 1 日到 5 月 31 日之间注册的用户:

SELECT * FROM users WHERE register_date BETWEEN '2025-05-01' AND '2025-05-31';

确保日期格式正确(YYYY-MM-DD),MySQL 才能准确识别。

查询字符串区间

也可以用于字符范围,比如查找姓名从 A 到 M 开头的用户:

SELECT * FROM users WHERE name BETWEEN 'A' AND 'M';

注意:字符串比较基于字典序,大小写敏感取决于字段的排序规则(collation)。

排除区间:使用 NOT BETWEEN

如果要查询不在某个范围内的数据,可以使用 NOT BETWEEN

SELECT * FROM students WHERE score NOT BETWEEN 70 AND 85;

这会返回成绩低于 70 或高于 85 的记录。

基本上就这些。BETWEEN 写法简单,语义清晰,在做范围筛选时非常实用,特别适合配合索引提升查询效率。