Mysql基础教程(07):BETWEEN

MySQL BETWEEN 用法与实例

本文介绍了在 MySQL 数据库中,如何使用 BETWEEN 运算符确定一个值是否介于某两个值之间。

BETWEEN 运算符确定一个值是否介于某两个值之间。BETWEEN 运算符常用于比较数字和日期类型的数据

MySQL BETWEEN语法

BETWEEN 运算符是一个三目运算符,它需要 3 个操作数。下面 BETWEEN 运算符的语法:

expression BETWEEN min AND max
expression NOT BETWEEN min AND max

使用说明:

  • expression 可以是一个字段名、值或其他的表达式(比如函数调用、运算等)。
  • min 是范围的最小值(包含)
  • max 是范围的最大值(包含)
  • AND 是一个固定的连接词,用来连接 minmax
  • NOT 是否定运算符,NOT BETWEEN 表达的含义与 BETWEEN 相反。

BETWEEN 运算符相当于是下面写法的简写形式:

expression >= min AND expression <= max

NOT BETWEEN 运算符相当于是下面写法的简写形式:

expression < min OR expression > max

MySQL BETWEEN运算规则

当字段的值或者给定的值介于 min 和 max 两个值之间时,BETWEEN 运算符返回 1。否则,返回 0

BETWEEN 运算规则如下:

  • 如果左侧的 expression 介于 min 和 max 之间时, BETWEEN 返回 1,否则返回 0。
SELECT1 BETWEEN 1 AND 3,2 BETWEEN 1 AND 3,3 BETWEEN 1 AND 3,4 BETWEEN 1 AND 3;
+-------------------+-------------------+-------------------+-------------------+
| 1 BETWEEN 1 AND 3 | 2 BETWEEN 1 AND 3 | 3 BETWEEN 1 AND 3 | 4 BETWEEN 1 AND 3 |
+-------------------+-------------------+-------------------+-------------------+
|                 1 |                 1 |                 1 |                 0 |
+-------------------+-------------------+-------------------+-------------------+
  • 如果 expression, min, max 至少有一个 NULL 时, BETWEEN 运算符的返回 NULL。
SELECTNULL BETWEEN 1 AND 3,1 BETWEEN NULL AND 3,1 BETWEEN 1 AND NULL;
+----------------------+----------------------+----------------------+
| NULL BETWEEN 1 AND 3 | 1 BETWEEN NULL AND 3 | 1 BETWEEN 1 AND NULL |
+----------------------+----------------------+----------------------+
|                 NULL |                 NULL |                 NULL |
+----------------------+----------------------+----------------------+

MySQL BETWEEN实例

以下SQL 语句使用BETWEEN检索学生年龄位于1920之间的学生:

SELECT *
FROM students
WHERE age BETWEEN 19 AND 20;
+------------+--------+------+--------+
| student_id | name   | age  | gender |
+------------+--------+------+--------+
|          3 | 李总结 |   19 ||
|          7 | 刘星   |   19 ||
|         10 | 战书   |   19 ||
|         12 | 赵云   |   20 ||
+------------+--------+------+--------+
4 rows in set (0.00 sec)

因为MINMAX的值是包含的,所以查询的实际是学生年龄>=19且<=20之间的。

此 SQL 语句与下面不使用 BETWEEN 的语句的结果相同:

SELECT *
FROM students
WHERE age >= 19 AND age <= 20;

NOT BETWEEN

以下 SQL 语句使用 BETWEEN 运算符检索年龄不在1920之间的学生:

SELECT *
FROM students
WHERE age NOT BETWEEN 19 AND 20;
+------------+--------+------+--------+
| student_id | name   | age  | gender |
+------------+--------+------+--------+
|          1 | 丁一   |   18 ||
|          2 | 解放   |   18 ||
|          4 | 周末离 |   18 ||
|          5 | 谢村花 |   18 ||
|          6 | 周一   |   18 ||
|          8 | 夏雨   |   18 ||
|          9 | 夏天   |   18 ||
|         11 | 周易   |   18 ||
+------------+--------+------+--------+
8 rows in set (0.00 sec)

此 SQL 语句与下面不使用 NOT BETWEEN 的语句的结果相同:

SELECT *
FROM students
WHERE age < 19 OR age > 20;

这里,因为students表中没有年龄大于20的学生,所以查询的结果中不包含年龄大于20的学生。

结论

本文通过实例介绍了 MySQL 中 BETWEEN 运算符的语法和用法。 BETWEEN 运算符的用法要点如下:

  • BETWEEN 运算符来测试一个值是否位于一个数值区间或者时间区间内。
  • BETWEEN min AND max 中 min 是区间的最小值,max 是区间的最大值。
  • expression BETWEEN min AND maxexpression >= min AND expression <= max 结果相同。
  • BETWEEN 运算符可以结合 NOT 运算符进行否定操作。
  • expression NOT BETWEEN min AND maxexpression < min OR expression > max 结果相同。

← Mysql基础教程(06):NOT IN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用AWR对电路进行交流仿真---以整流器仿真为例

使用AWR对电路进行交流仿真—以整流器仿真为例 生活不易&#xff0c;喵喵叹气。马上就要上班了&#xff0c;公司的ADS的版权紧缺&#xff0c;主要用的软件都是NI 的AWR&#xff0c;只能趁着现在没事做先学习一下子了&#xff0c;希望不要裁我。 本AWR专栏只是学习的小小记录而…

Sylvester矩阵、子结式、辗转相除法的三者关系的应用——Habicht定理

【Habicht定理】 设 R \mathbb{R} R为域&#xff0c;非 0 0 0多项式 A a 0 x n 1 a 1 x n − 1 … a n 1 、 G b 0 x n b 1 x n − 1 … b n ∈ R [ x ] A a_{0}x^{n 1} a_{1}x^{n - 1} \ldots a_{n 1}、G b_{0}x^{n} b_{1}x^{n - 1} \ldots b_{n}\mathbb…

6、phpjm混淆解密和php反序列化

题目&#xff1a;青少年雏形系统 1、打开链接也是一个登入面板 2、尝试了sqlmap没头绪 3、尝试御剑&#xff0c;发现一个www.zip 4、下载打开&#xff0c;有一个php文件打开有一段phpjm混淆加密 5、使用手工解混淆 具体解法链接&#xff1a;奇安信攻防社区-phpjm混淆解密浅谈…

音视频开发9 FFmpeg 解复用框架--如何将一个影音文件(mp4文件/wav文件) 最终播放起来

一&#xff0c;播放器框架 二 常用音视频术语 容器&#xff0f;文件&#xff08;Conainer/File&#xff09;&#xff1a; 即特定格式的多媒体文件&#xff0c; 比如mp4、flv、mkv等。 媒体流&#xff08;Stream&#xff09;&#xff1a; 表示时间轴上的一段连续数据&#xff0…

Linux系统进程管理

系统进程管理 一、进程概述 1.1 什么是进程&#xff1f;进程管理需要做什么&#xff1f; 进程是已启动的运行实例&#xff0c;进程有以下组成部分&#xff1a; ​ 已分配内存的地址空间 ​ 进程ID ​ 程序的代码 ​ 进程状态 进程管理包括进程调度、中断处理、信号、进程…

Excel工作簿/表的合并/拆分全集(一文通关)

概述 在工作中&#xff0c;我们常会用到到Excel拆分/合并为多个工作表/簿&#xff0c;如全国的订单表&#xff0c;需要根据省份列拆分下发至对应的省、各省份数据需要汇总、...... 应该如何操作呢&#xff1f; 1. 传统方法&#xff08;借助透视表、Power Query编辑器、VBA实现…

Pytest对协程异步函数进行单元测试

安装 安装基础包 pytest&#xff0c;pytest-asyncio pip install pytest pytest-asyncio测试&#xff1a; pytest -s -v ./python-code/do-async/aiohttp_session_pytest.py书写规范 类名必须以 Test 开头方法和函数名必须以test开头 class TestAddFunc(object): # 测试…

leetcode——169.多数元素(多解法)

169. 多数元素 题目描述 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a;nums [3,2,3]…

在CentOS7上安装Oracle11

一、概述 Oracle有两种安装方式&#xff0c;桌面安装和静默安装。这里我采用桌面安装的方式。 不得不说&#xff0c;Oracle真的是我目前为止安装过的最麻烦的软件没有之一&#xff0c;比K8S还麻烦&#xff0c;Oracle&#xff0c;真有你的&#xff01;废话不多说&#xff0c;臭…

【Nginx <末>】Nginx 基于 IP 地址的访问限制

目录 &#x1f44b;前言 &#x1f4eb;一、限制 IP 可以实现哪些功能 &#x1f440;二、 项目实现 2.1 访问控制实现 2.2 Nginx 配置中指定 IP 地址 &#x1f49e;️三、章末 &#x1f44b;前言 小伙伴们大家好&#xff0c;前面一段时间学习了 Nginx 的相关知识&#xff0c…

实现排行榜之Mysql的 OrderBy方法

排行榜之Mysql OrderBy实现 1、排行榜系统的功能点 数据收集与计算 排名规则 实时性 可视化展示 周期性更新 2、排行榜系统基本功能要素 MySQL实现方案 数据量较小&#xff0c;业务场景比较简单。可直接使用 新建表 CREATE TABLE leaderboard( id BIGINT UNSIGNED NOT …

《Python源码剖析》之pyc文件

前言 前面我们主要围绕pyObject和pyTypeObject聊完了python的内建对象部分&#xff0c;现在我们将开启新的篇章—python虚拟机&#xff0c;将聚焦在python的执行部分&#xff0c;搞懂从“代码”到“执行”的过程。开启新的篇章之前&#xff0c;你也许会有一个疑惑&#xff1a;我…

【Python】 XGBoost vs LightGBM:两大梯度提升框架的对比

原谅把你带走的雨天 在渐渐模糊的窗前 每个人最后都要说再见 原谅被你带走的永远 微笑着容易过一天 也许是我已经 老了一点 那些日子你会不会舍不得 思念就像关不紧的门 空气里有幸福的灰尘 否则为何闭上眼睛的时候 又全都想起了 谁都别说 让我一个人躲一躲 你的承诺 我竟然没怀…

泰拉瑞亚从零开始的开服教程

前言 本教程将讲诉使用Linux系统搭建泰拉瑞亚服务器&#xff08;因为网上已经有很完善的windows开服教程了&#xff09;&#xff0c;使用的Linux发行版是Debian11,服务端使用的程序是TShock&#xff0c;游戏版本是1.4.4.9 所需要准备的 一台服务器&#xff08;本教程使用的是…

tldk之tle简单记录

文章目录 1.tle简介2.tle处理tcp3.tle处理udp4.tle封装包头 项目中遇到了tldk中tle的使用&#xff0c;不太熟悉&#xff0c;这里记录一下&#xff0c;方便以后回顾 tldk源码位置&#xff1a; tldk源码 简单理解&#xff1a;这里我们项目大概dpdk从网卡收到数据包之后&#xff…

解决Jupyter运行代码显示Kernel Restarting的错误

在Jupyter notebook上运行代码时发现如下错误&#xff1a; 使用VS Code运行在日志表中发现错误存在&#xff1a; 它表明在初始化"libiomp5md.dll"库时发生问题&#xff0c;因为该库已经被初始化过了&#xff0c;这个错误可能是由于程序中重复初始化OpenMP库导致的&am…

深入探索C++ Vector容器:灵活的动态数组秘籍

目录 ​编辑 引言 一、初识vector&#xff1a;构造与初始化 二、动态管理&#xff1a;添加与删除元素 三、访问与遍历&#xff1a;多种方式直达元素 四、容量与大小&#xff1a;动态调整的艺术 五、进阶技巧&#xff1a;高效运用vector 结语 引言 在C编程的世界里&…

驱动命令之insmod depmod modprobe rmmod modinfo lsmod

insmod命令 insmod需指定所需加载模块的路径&#xff0c;且只加载所指定的模块&#xff0c;如果所指定的模块依赖于其他模块&#xff0c;insmod不会自动添加&#xff1b; 语法 insmod [-fkmpsvxX][-o <模块名称>][模块文件][符号名称 符号值] 参数说明&#xff1a; -f…

微信小程序如何跳转微信公众号

1. 微信小程序如何跳转微信公众号 1.2. 微信公众号配置 登录微信公众号&#xff0c;点击【小程序管理】&#xff1a;   点击【添加】&#xff1a;   点击【关联小程序】&#xff1a;   输入小程序进行关联&#xff1a; 1.2. 微信小程序配置 登录微信小程序&#xf…

vue-router配置路由重定向不生效问题

概述 在做前端vue项目测试时&#xff0c;发现在路由配置中配置访问地址“http://ip:port/” 重定向到某个地址时&#xff0c;界面没有显示重定向后的地址。 能保证的是我的vue写法绝对没错。 简要代码 App.vue: <template><div id"app"><rout…