命令行操作MySQL - between and 范围区间查询

这是命令行操作MySQL数据库系列博客的第十四篇,今天这篇博客记录between and如何进行查询。(BETWEEN AND 与 NOT BETWEEN AND)


简介

BETWEEN AND:查询包含在此区间内的所有整数,例如 “i >= 60 AND i <= 80”,可用数据库术语表示:“i BETWEEN 60 AND 80”.

NOT BETWEEN AND:查询不包含在此取间内的所有整数,例如"i < 60 OR i > 80",可用数据库术语表示:“i NOT BETWEEN 60 AND 80”.

BETWEEN AND查询

当我们需要查询指定范围内的数据(如: id 从0 到 100)的时候,MySQL提供了关键字BETWEEN AND,用来实现判断字段的数值是否在指定范围内的条件查询。该关键字的具体语法形式如下:

推荐写法:
select * from 表名 where 整型字段名 BETWEEN 0 AND 100;

可写成如下格式(不推荐):
select * from 表名 where 整型字段名 >= 0 AND 整型字段名 <= 100;
(类似于C/C++语言的:i >= 0 && i <=100)

当满足条件大于等于零且小于等于100以内的数据都会被查询出来!

例:

  1. 创建一张表并插入数据

    create table between_and(id int PRIMARY KEY AUTO_INCREMENT, name varchar(32), age int, _date date);
    
    insert into between_and values(1, '甲', 20, '2000-4-26'), (2, '乙', 22, '1998-3-12'), (3, '乙', 18, '2002-9-29'), (4, '丁', 21, '1999-5-22');
    

    在这里插入图片描述

  2. 查询年纪在19 至 25岁之间的数据

    select * from between_and where age BETWEEN 19 AND 25;
    

    在这里插入图片描述

  3. 当然除了可以整数类型外,还可以查询日期类型

    select * from between_and where _date BETWEEN '2002-09-29' AND '2000-04-26';
    

    在这里插入图片描述

  4. 可以使用 大于号> 小于号< 方式表示(不推荐)

    select * from between_and where _date >= '1998-03-12' AND _date <= '2020-09-29';
    

    在这里插入图片描述

NOT BETWEEN AND查询

不符合范围的数据记录查询:
通过关键字NOT设置反向查询非查询范围的条件,具体SQL语句如下:
推荐写法:
select * from 表名 where 整型字段名 NOT BETWEEN 0 AND 100;

可写成如下格式(不推荐):
select * from 表名 where 整型字段名 < 0 OR 整型字段名 > 100;
(类似于C/C++语言的:i < 0 || i >100)

当满足条件小于零且大于100的数据都会被查询出来!

例:

  1. 查询年纪不在19 至 25岁之间的数据

    select * from between_and where age NOT BETWEEN 19 AND 25;
    

    在这里插入图片描述

  2. 查询日期类型98年至00年的所有数据

    select * from between_and where _date NOT BETWEEN '1998-03-12' AND '2000-04-26';
    

    在这里插入图片描述

  3. 可以使用 大于号> 小于号< 方式表示(不推荐)

    select * from between_and where (_date < '1998-03-12' OR _date > '2000-04-26');
    

    在这里插入图片描述


注意:只能查询整型(int) 与 日期类型(date)。
例:
使用BETWEEN AND查询字符串类型:

select * from between_and where name BETWEEN '甲' AND '丁';

在这里插入图片描述
查询结果为空!!!


总结:
BETWEEN AND查询语句其实不难,只要懂得一点点的数学条件判段,都可以学会;只需注意,BETWEEN AND 只能查询整型int与日期类型date的数据,其它类型都查询不了

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cpp_learners

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值