首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何精准获取你想要的数据?——过滤大法好!

如何精准获取你想要的数据?——过滤大法好!

作者头像
DataScience
修改2020-01-03 15:03:34
1.2K0
修改2020-01-03 15:03:34
举报
文章被收录于专栏:A2DataA2Data

本文标识 : MQ0008

本文编辑 : 长安月下赏美人儿

编程工具 : MySQL、DBeaver

阅读时长 : 5分钟

回忆过去

10月11日,世界镇痛日

世界卫生组织于2000年明确提出“ 慢性疼痛是一类疾病”。

目录

前言

WHERE 过滤查询

LIKE 模糊查询

前言

在现实工作中,不可能每一次的工作需求都是调出全部数据,而是从各个不同的数据库或数据表中调出不同字段的数据,那么如何达到这种精准的数据捕捉,就需要执行过滤查询。

上周,大家共同学习了 SELECT 基础查询,不晓得读者小可爱们是否还记得查询执行顺序这个小知识点。今天,主要同大家分享的就是 WHERE、GROUP

BY,HAVING 等相关指令。

#SELECT查询执行顺序:SELECT 字段N         #查询指定字段FROM tab_name      #所要查询数据源WHERE ......             #执行 WHERE 语句过滤原始数据GROUP BY ......       #执行 GROUP BY 进行分组HAVING ......            #执行 HAVING 对分组数据进行操作ORDER BY ......       #执行 ORDER BY 排序 
LIMIT ......;              #执行 LIMIT 选出数据

WHERE 过滤查询

1、WHERE 查询基本语法及用途

用途:WHERE 对查询信息进行限制或过滤,使查询结果更精准。

譬如,一个小学中有 8 个孩子叫张狗蛋,分布在各个年级,如果想找到 3 年 2 班的张狗蛋同学,通过广播高呼“ 3 年 2 班张狗蛋同学,速来广播室”即可,那么“ 3 年 2 班”即为限制条件。

#查询语法:SELECT* FROM tab_name WHERE 限制条件 
#代码示例:SELECT * FROM db_order.dabaicai
WHERE price BETWEEN 64 AND 200;

数据结果:

2、WHERE 限制条件种类

种类

WHERE 查询条件标识

比较

>、<、=、>=、<=、<>,其中<>表示不等于

集合

in,not in

指定范围

between and

空值判断

null,not null

and 即同时满足条件

or 即满足其中一个条件

3、有关 BETWEEN 的坑

有的时候,获取一段区间范围值数据,可以有多种表达形式。譬如,获取学号小于 10086 大于 119 的学员信息,过滤查询语句部分可为

(1)WHERE stu_id <10086 AND stu_id >119;

(2)WHERE stu_id BETWEEN120 AND 10085;

有没有发现一个奇怪的现象?!

对! BETWEEN 的陷阱就是边界值!!!

如果过滤查询语句为

WHERE stu_id BETWEEN 119 AND 10086;

则其获取的信息则为,学院学号大于等于 119,小于等于 10086 的信息。

WHERE 过滤查询小结:

  • BETWEEN,注意数据边界值
  • null ,查询时要用 is null 或 is not null
  • in 与 not in ,无法获取数据值为 null 的信息

LIKE 模糊查询

1、用途及常用指令

LIKE 在这里,并不是喜欢的意思,而是像的意思。

用途:WHERE 查询条件之模糊查询,主要针对包含某些字段的数据进行提取。

常用提取指令:LIKE 'a%b'、LIKE 'a_b'

2、通配符 %

%:表示任意长度的字符串 。

#查询语法:LIKE 'a%b' ,#即使查询以 a 为开头,b 为结尾任意长度的内容
#例子:查询数据表中,id以 5 为结尾的产品。

#代码示例:SELECT * FROM db_order.dabaicaiWHERE id LIKE'%5';

数据结果:

3、通配符 _

_:表示 1 个长度的字符。

#查询语法:LIKE 'a_b' ,#即使查询以 a 为开头,b 为结尾任意长度的内容
#例子:查询数据表中,以 AB 为开头,以 5 为结尾,长度为5 的信息。

#代码示例:SELECT * FROM db_order.dabaicaiWHERE id LIKE'AB__5';

数据结果:

LIKE 模糊查询小结:

  • % ,位置可以放在前面、后面或中间,'%ORT'、'or%'、'ha%m'等
  • %,可以匹配 0 个,1 个或多个字符串
  • %,无法匹配空值
  • _ , 一个下划线,表示 1 个长度字符,若表示 2 个长度,则__
  • 当不确定字符位数的时候,用 % ,否则可以用 _

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataScience 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 前言
  • WHERE 过滤查询
  • LIKE 模糊查询
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档