BDA初级分析——用SQL筛选数据

news2024/11/16 21:47:01

一、用SQL对数据分组

GROUP BY


Group by,按...分组
作用:根据给定字段进行字段的分组,通常和聚合函数配合使用,实现分组的分析

写法:select ...from ...group by 字段名 (也可以是多个字段)

 GROUP BY的逻辑

SELECT gender,COUNT(user_id) FROM users GROUP BY gender;

二、用SQL筛选数据

 WHERE


Where,在哪儿
作用:对数据按照特定的条件去进行筛选,找到符合条件的数据

写法 :select ...from ... where 条件

 AND/OR,多重条件的组合


AND,且;OR,或
作用:多个条件以“且”“或”的方式连接,进行条件的约束

写法:select ...from ... where 条件1 and/or 条件2(如果有更多条件,可继续补充)

 操作符(operator )


等于=
大于>
小于<
不等于<>或!=
大于等于>=
小于等于<=

 IS NULL


is null:字段为空值

ls not null:字段不为空值

 IN


in : 在...之中
作用:in可以看作是or和=的组合,但写法更加简便

写法 :IN(值1,值2,值3...值n)

 

 BETWEEN


between:在...之间
作用:找出两个值之间的数据

写法:BETWEEN 值1AND 值2

 

 LIKE


like : 类似,近似通配符 :%
作用:实现模糊查询

写法 :like要查找的内容+%的组合,%的用法类似Excel中的*

 通配符位置带来的区别

 HAVING,对聚合后的结果做筛选


having:有
作用:对聚合后的结果做筛选,找到符合条件的结果

写法:SELECT...( 这里有聚合函数)FROM ...GROUP BY ...HAVING 条件(这里的条件针对聚合函数)

 ORDER BY


Order by: 按照..排序
作用:对显示的结果按照字段进行大小排序

写法:SELECT...FROM ...ORDER BY字段名(这里也可以是多个字段

 

三、随堂练习

 正确答案: 正确 
解析:
WHERE语何一般位置在FROM的后面

 正确答案: 错误
解析:

注意区分HAVING与WHERE,在本题里,是对聚合后的结果做筛选,因此应当使用HAVING

 正确答案: 错误 
解析:
GROUP BY应该在FROM之后

 正确答案:错误
解析:

筛选的变量满足其中一个值就属于满足条件的情况下,可以用IN简写,

但下面这些情况下,IN都无法代替OR的功能:

SELECT*FROM orders WHERErev>0 OR units>0;
SELECT*FROM ordersWHERE rev<100 0R rev>1000

 正确答案: AC 
解析:
AND表示且,需要同时满足AND两边的条件:

OR表示或,即满足任一条件即可:

BETWEEN代表在两者之间,且包含两端:

IN表示在列出的这些值中在这里即代表=0或=1000

 正确答案: 正确 
解析:
注意区分HAVING与WHERE,在本题里,WHERE筛选的仍然是user id这个原始数据中存在的字段且位置在GROUP BY前,而并非对聚合后的结果做筛选

 正确答案: 正确
解析:

注意区分HAVING与WHERE,在本题里,是对聚合后的结果做筛选,因此应当使用HAVING

正确答案:C
解析:

在SQL语句中,%代表通配符,可以代替任何字段,且需要和LIKE搭配使用

 正确答案: BCD
解析:
NULL代表了数据的缺失,它不是0,也不是空格,只能用IS NULL 来表达

 正确答案: 错误 
解析:
默认是升序排列,如果需要降序排列,需要在ORDER BY 结尾增加DESC

 正确答案: 正确 
解析:
WHERE语句就是SQL语句中的筛选语句

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

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

相关文章

Springboot整合Mybatis调用Oracle存储过程

1、配置说明 Oracel11g+springboot2.7.14+mybatis3.5.13 目标:springboot整合mybatis访问oracle中的存储过程,存储过程返回游标信息。 mybatis调用oracle中的存储过程方式 2、工程结构 3、具体实现 3.1、在Oracle中创建测试数据库表 具体数据可自行添加 create table s…

[C初阶笔记]P2

Git 1、Git是Linus为了帮助管理Linux内核开发 而开发的一个开放源码的分布式版本控制软件。 2、Git和TortoiseGit的作用。 Git中有各种命令行操作&#xff0c;来维护代码&#xff0c;可以将代码推送到代码托管平台。 TortoiseGit是将Git中各自命令行操作转化为图形化操作。 …

Elasticsearch复合查询之Boosting Query

前言 ES 里面有 5 种复合查询&#xff0c;分别是&#xff1a; Boolean QueryBoosting QueryConstant Score QueryDisjunction Max QueryFunction Score Query Boolean Query在之前已经介绍过了&#xff0c;今天来看一下 Boosting Query 用法&#xff0c;其实也非常简单&…

Redis数据结构——快速列表quicklist、快表

定义 Redis中的数据结构&#xff0c;链表和压缩列表这两种数据结构是列表对象的底层实现方式。 当时考虑到链表的附加空间太大&#xff0c;节点的内存都是单独分配的&#xff0c;还会导致内存碎片化问题严重。 因此从Redis3.2开始&#xff0c;对列表的底层数据结构进行了改造&…

Web和云开发,Rust会起飞?

Web和云开发&#xff0c;Rust会起飞&#xff1f; 一、前言 二、大厂偏爱&#xff0c;Rust的未来 三、Rust做Web的雄心 四、有必要换Rust做Web&#xff1f; 1.效率和性能 2.可靠性和可维护性 五、Rust先苦后甜 六、用Rust前的几个问题 七、开发界的强者 一、前言 去年…

图卷积网络:GNN 深入探讨【02/4】

一、说明 在各种类型的GNN中&#xff0c;图卷积网络&#xff08;GCN&#xff09;已成为最普遍和应用最广泛的模型。GCN具有创新性&#xff0c;因为它们能够利用节点的特征及其局部性进行预测&#xff0c;从而提供了一种处理图形结构数据的有效方法。在本文中&#xff0c;我们将…

SkyEye操作指南:连接TI CCS的IDE调试

现代电力电子控制系统的开发中&#xff0c;DSP芯片以其优越的运算性能在控制算法领域得到越来越广泛的应用。传统的DSP开发过程往往需要在完成控制系统仿真与程序设计后&#xff0c;才能根据比对结果进行程序修改&#xff0c;全过程还需要硬件电路工程师的配合&#xff0c;开发…

线性代数再回顾

最近&#xff0c;在深度学习线性代数&#xff0c;之前大一的时候学过线性代数&#xff0c;但那纯属于是应试用的&#xff0c;考试一考完&#xff0c;啥都忘了&#xff0c;也说出不出个所以然&#xff0c;所以&#xff0c;在B站的MIT的线性代数以及3blue1brown线性代数的本质中去…

深入学习前端开发,掌握HTML、CSS、JavaScript等技术

课程链接&#xff1a; 链接: https://pan.baidu.com/s/1WECwJ4T8UQfs2FyjUMbxig?pwdi654 提取码: i654 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍&#xff1a; 第1周&#xff1a;HTML5基础语法与标签 &#x1f…

Nginx转发请求到后端服务报400 Bad Request

问题描述 系统部署好后&#xff0c;进行测试时发现有部分接口出错&#xff0c;项目采用Nginx作为后端代理服务器&#xff0c;有Nginx统一将请求转发到后端的网关服务&#xff0c;再由网关服务路由到具体的服务上&#xff0c;发布好后&#xff0c;大部分接口都是正常的&#xff…

使用Python将文本转换成语音?

使用Python将文本转换成语音&#xff1f; 超酷的Python应用&#xff1a;将文本转换成语音&#xff01;这不仅是一个有趣的项目&#xff0c;还能让你体验到Python的神奇之处。废话不多说&#xff0c;让我们开始动手吧&#xff01; 为什么要转换文本成语音&#xff1f; 在这个信…

Redis缓存!

一些基础芝士 将MySQL的热点数据存储在Redis中&#xff0c;通常业务都满足二八原则&#xff0c;80%的流量在20%的热点数据之上&#xff0c;所以缓存是可以很大程度提升系统的吞吐量。 一般而言&#xff0c; 缓存分为服务器端缓存&#xff0c;和客户端缓存 服务器端缓存即服务…

git权限问题解决方法Access denied fatal: Authentication failed

文章目录 遇到Access denied 的权限问题解决方法1、git的密码修改过&#xff0c;但是本地没更新。2、确定问题&#xff0c;然后增加配置① 查询用户信息②如果名称和email不对&#xff0c;设置名称&#xff1a;③ 检查ssh-add是否链接正常④ 设置不要每次都输入用户名密码 3、配…

算法通关村第3关【青铜】| 不简单的数组增删改查

1. 创建数组 //第一种创建和初始化的方法int[] arr new int[10];//第二种创建和初始化的方法int[] arr2 new int[]{0, 1, 2, 3, 5, 6, 8};System.out.println("arr2:" Arrays.toString(arr2));//第二种方式的简化版本:int[] arr3 {2, 5, 0, 4, 6, -10};System.ou…

leetcode292. Nim 游戏(博弈论 - java)

Nim 游戏 Nim 游戏题目描述博弈论 上期经典算法 Nim 游戏 难度 - 简单 原题链接 - Nim游戏 题目描述 你和你的朋友&#xff0c;两个人一起玩 Nim 游戏&#xff1a; 桌子上有一堆石头。 你们轮流进行自己的回合&#xff0c; 你作为先手 。 每一回合&#xff0c;轮到的人拿掉 1 -…

蓝牙资讯|中国智能家居前景广阔,蓝牙Mesh照明持续火爆

据俄罗斯卫星通讯社报道&#xff0c;中国已成为全球最大的智能家居消费国&#xff0c;占全球50%—60%的市场份额。未来&#xff0c;随着人工智能技术的发展以及智能家居生态的不断进步&#xff0c;智能家居在中国的渗透率将加速提升。德国斯塔蒂斯塔调查公司数据显示&#xff0…

已知四个坐标点,怎样求出四边形的四个内角

1&#xff0c;理论 最简单的方式利用向量进行求解 如图可得&#xff1a; cosθa*b/&#xff08;|a|*|b|&#xff09; 已知三点坐标&#xff0c;很容易可以得到两向量之积a*b&#xff0c;以及每个的模值 2&#xff0c;四个角度求解过程 首先&#xff0c;我们定义了四个坐标点…

Kubernetes+EFK构建日志分析平台

目录 Fluentd 工作原理 1.1、主机初始化配置 1.2、部署docker环境 二、部署kubernetes集群 2.1、组件介绍 2.2、配置阿里云yum源 2.3、安装kubelet kubeadm kubectl 2.4、配置init-config.yaml 2.5、安装master节点 2.6、安装node节点 2.7、安装flannel 3、部署企业…

5G之CSI报告的内容

[TOC]5G之CSI报告的内容 一、CSI包括的内容 1. UE上报的信道状态信息&#xff08;Channel State Information&#xff0c;CSI&#xff09;包括 信道质量指示&#xff08;Channel Quality Indicator, CQI)&#xff1b;预编码矩阵指示&#xff08;Precoding Matrix Indicator&…

QT:定时器事件

定时器第一种办法&#xff1a; 1.利用事件timerEvent&#xff0c;在帮助文档中找到该字段&#xff1a;[override virtual protected] void QTimer::timerEvent(QTimerEvent *e) 重写该虚函数 //重写定时器事件void timerEvent(QTimerEvent *e);2.启动定时器startTimer(1000); …