SQL学习笔记(03)_BETWEEN 操作符

本文详细介绍了 SQL 中 BETWEEN 操作符的使用方法及其与其他条件组合的应用场景,包括数值、文本和日期等不同数据类型的查询示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

“喜欢的东西,要么违法,要么买不起,要么不道德,要么不回信息”


SQL BETWEEN 操作符

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

BETWEEN

SQL BETWEEN 语法

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
  • 演示数据库
    在这里插入图片描述

实例:选取 年龄介于 16 和 18 之间的所有学生

-- 选取 年龄介于 16 和 18 之间的所有学生
select * from student where stu_age between 16 and 18

执行结果
在这里插入图片描述
根据查询结果我们可以发现, between 16 and 18 是包含了16和18的,也就是相当于在数学里的age<=18 且 age >=16。
为了方便对比,在下面的语句中的执行结果中可以看到其实前两条语句的结果是一样的,第三条就不包含16以及18。

select * from student where stu_age between 16 and 18
select * from student where stu_age >= 16 and stu_age <= 18
select * from student where stu_age > 16 and stu_age< 18

执行结果:
在这里插入图片描述

NOT BETWEEN

这里的 NOT BETWEEN 就是 BETWEEN 的值取反的意思,我们可以直接看示例:

select * from student where stu_age  between 18 and 20
select * from student where stu_age  not between 18 and 20

结果:
在这里插入图片描述
结果显而易见,也很好理解。。。

带有 IN 的 BETWEEN

这也就是多了一个条件,也很容易理解,直接操作它…

-- 选取 学生年龄 介于 17 和 20 之间但 班级id 不为9528和9529的所有学生
select * from student where (stu_age  between 17 and 20) and stu_classid NOT IN(9528,9529)
-- 反之
select * from student where (stu_age  between 17 and 20) and stu_classid  IN(9528,9529)
带有文本值的 BETWEEN

这就是把BETWEEN value1 AND value2里面的value1 和2写成文本值,但是此文本值必须是属于一个区间,例如:a-z,A-Z…但是带文本值的BETWEEN AND 属于左闭右开的状态,和纯数值不一样,也就是包含左边但并不包含右边
如下:

SELECT * FROM class where cla_major between 'A' and 'M'
SELECT * FROM class where cla_major between 'A' and 'L'
SELECT * FROM class where cla_major not between 'A' and 'L'

看结果:显而易见,它就是左闭右开,石锤了!!!
在这里插入图片描述

给个眼神自己体会去~~


今天女朋友说她养的小乌龟昨天还活蹦乱跳的,今天突然就暴毙了,就挺突然的,之前在学校养的仓鼠也是死掉了…
好难过啊…
在这里插入图片描述

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值