数据分析入门指南:数据库入门(五)
本文将总结CDA认证考试中数据库中部分知识点,内容来源于《CDA模拟题库与备考资料PPT》
。
CDA认证,作为源自中国、面向全球的专业技能认证,覆盖金融、电信、零售、制造、能源、医疗医药、旅游、咨询等多个行业,旨在培养能够胜任数据采集、清洗、处理、分析及业务报告制作、数字化决策等任务的新型数据人才。
作为当今的数据驱动时代,SQL是数据分析师不可或缺的技能之一。本文将以探讨数据库查询、查询操作符、子查询、函数等方法,帮助你建立对数据库操作的初步认识。
一、数据库查询
1、SELECT语句的操作符
根据特定条件从数据库中查询出数据。
加号(+)、减号(-)、乘号(*)和除号(/),查询中虽然不直接用于构造查询语句,但在数据查询常常涉及数据的计算和转换。
2、聚合类函数
在SQL中,聚合类函数如AVG(平均值)、SUM(总和)、MAX(最大值)、MIN(最小值)和COUNT(计数)等,允许对数据库中的数据进行汇总和统计,从而得出有意义的结论。
3、多表查询
在实际应用中,数据库通常包含多个相互关联的表。多表查询,如内连接(INNER JOIN)、左连接(LEFT JOIN)和联合查询(UNION),是处理这些复杂数据结构的关键。内连接查询返回两个或多个表中匹配的行;左连接查询则返回左表中的所有行,以及与右表中匹配的行(如果右表中没有匹配项,则结果中这些行的右表部分将为空);联合查询则用于合并两个或多个SELECT语句的结果集,要求这些结果集具有相同的列数和数据类型。
二、查询操作符与子查询
1、运算符
SQL查询操作符是用于在WHERE子句中设置条件,以过滤结果集。以下是一些常见的操作符及其用法:
BETWEEN:判断某个字段的值是否在指定的范围内。
SELECT * FROM fruits WHERE f_price BETWEEN 10 AND 20;
这个查询将返回价格在10元到20元之间的所有水果记录。
LIKE:用于匹配字段值是否包含指定的字符串。
SELECT * FROM fruits WHERE f_id LIKE 'b%';
这个查询将返回f_id以字母b开头且长度为两位的所有水果记录。
IS NULL:用于判断字段值是否为空(NULL)。
SELECT * FROM fruits WHERE f_name IS NULL;
此查询将返回所有f_name字段为空的水果记录。
DISTINCT:用于去除结果集中的重复记录。
SELECT DISTINCT s_id FROM fruits;
这里假设s_id是另一个相关字段,该查询将返回所有不重复的s_id值。
2、子查询与操作符组合应用
子查询是将一个查询的结果集作为另一个查询的条件或数据表来使用。以下是几种结合操作符使用子查询的例子:
ANY:表示满足内层查询结果中的任意一个条件。
SELECT * FROM fruits WHERE f_price = ANY (SELECT f_price FROM fruits WHERE f_price BETWEEN 10 AND 20);
这个查询会返回所有f_price在10元到20元之间的水果记录,尽管这里使用=和ANY的组合有些冗余,但展示了ANY的用法。
ALL:表示满足内层查询结果中的所有条件。
由于ALL通常用于比较操作符(如> ALL、< ALL),直接用于价格范围查询可能不太适用,但理论上可以这样使用:
SELECT * FROM fruits WHERE f_price > ALL (SELECT f_price FROM fruits WHERE f_price <= 20);
实际上,这个查询可能不会返回任何结果,因为没有任何价格能大于或等于20且同时小于20的所有价格。
EXISTS:用于判断内层查询是否存在满足条件的记录。
SELECT * FROM fruits f1 WHERE EXISTS (SELECT 1 FROM fruits f2 WHERE f2.f_price > 2
三、函数
1、常用的字符串函数
常用的字符串函数包括但不限于字符串的截取、替换、拼接等操作。在数据处理阶段对数据进行清洗和整理。
2、日期与时间函数
通过使用日期及时间函数,可以对时间数据进行提取、转换和计算,从而进行时间序列分析、趋势预测等高级操作。这些函数包括日期的加减、格式化、提取特定部分(如年、月、日)等。
3、其他函数
除了上述常见的函数之外,还需要掌握一些其他的高级函数,以应对更复杂的数据分析需求。这些函数包括但不限于逻辑函数、开窗函数等。
3.1、逻辑函数
逻辑函数用于对表达式进行判断,根据满足的条件不同,执行相应的流程。例如,IF函数可以根据条件判断的真假,返回不同的结果。
3.2、开窗函数
开窗函数是SQL中的一种高级函数,允许在不改变原始数据行的情况下,对数据进行分组统计和计算。MySQL 8.0版本支持多达11种开窗函数,如ROW_NUMBER()、RANK()等,这些函数常与GROUP BY子句一起使用,能够提供更灵活的数据分析能力。
特别值得一提的是GROUP_CONCAT()函数,能够将同一组中的所有列值连接成一个字符串返回,非常适合于处理需要将多行数据合并为一行显示的场景。
四、总结
作为数据分析师,掌握数据库是你必不可少的技能之一。需要你熟练掌握数据查询、操作符查询与子查询、函数等,并深入数据库等核心内容,以确保数据分析工作的顺利进行和结果的准确性。只有你不断学习和实践,才能成为一名优秀的CDA数据分析师。
CDA认证对于你来说非常具有价值的:
如果你是一名学生,能够增强职场竞争力,同时也是技能的证明,可以拓宽自己的就业领域。
如果你是一名打工人,可以更快地获得晋升机会,从而获得更高的薪资待遇。
最后分享一本由CDA认证命题专家组成员倾力打造红宝书《精益业务数据分析》,可以帮你在备考过程中事半功倍,祝你早日拿证~
《精益业务数据分析》试读下载:https://edu.cda.cn/group/4/thread/178774
相关文章:

数据分析入门指南:数据库入门(五)
本文将总结CDA认证考试中数据库中部分知识点,内容来源于《CDA模拟题库与备考资料PPT》 。 CDA认证,作为源自中国、面向全球的专业技能认证,覆盖金融、电信、零售、制造、能源、医疗医药、旅游、咨询等多个行业,旨在培养能够胜任数…...

Logback日志异步打印接入指南,输出自定义业务数据
背景 随着应用的请求量上升,日志输出量也会成线性比例的上升,给磁盘IO带来压力与性能瓶颈。应用也遇到了线程池满,是因为大量线程卡在输出日志。为了缓解日志同步打印,会采取异步打印日志。这样会引起日志中的追踪id丢失…...

将iPad 作为Windows电脑副屏的几种方法(二)
将iPad 作为Windows电脑副屏的几种方法(二) 1. 前言2. EV 扩展屏2.1 概述2.2 下载、安装、连接教程2.3 遇到的问题和解决方法2.3.1 平板连接不上电脑 3. Twomon SE3.1 概述3.2 下载安装教程 4. 多屏中心(GlideX)4.1 概述4.2 下载安…...

[word] word表格跨页断开实现教程 #职场发展#媒体
word表格跨页断开实现教程 选中整个word表格 单击鼠标右键,选择“表格属性”选项 切换至“行”标签,找到“允许跨页断行”选项 勾选上“允许跨页断行”,单击“确定”按钮,完成! word表格跨页断开实现教程的下载地址&a…...

《Linux运维总结:基于ARM64架构CPU使用docker-compose一键离线部署单机版tendis2.4.2》
总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、部署背景 由于业务系统的特殊性,我们需要面对不同的客户部署业务系统࿰…...

【Apache Doris】周FAQ集锦:第 14 期
【Apache Doris】周FAQ集锦:第 14 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户…...
Log4j的原理及应用详解(四)
本系列文章简介: 在软件开发的广阔领域中,日志记录是一项至关重要的活动。它不仅帮助开发者追踪程序的执行流程,还在问题排查、性能监控以及用户行为分析等方面发挥着不可替代的作用。随着软件系统的日益复杂,对日志管理的需求也日…...

农田自动化闸门的结构组成与功能解析
在现代化的农业节水灌溉领域中,农田自动化闸门的应用越来越广泛。它集成了先进的技术,通过自动化控制实现水资源的精准调度和高效利用。本文将围绕农田自动化闸门的结构组成,详细介绍其各个部件的功能和特点。 农田自动化闸门主要由闸门控制箱…...

Python解释器:CPython 解释器
一、什么是python解释器 Python解释器是一种用于执行Python代码的程序。 它将Python源代码转换为机器语言或字节码,从而使计算机能够执行。 1.1 Python解释器分类 1、CPython CPython 是 Python 的主要实现,由 C 语言编写。大多数用户在日常开发中使…...

layui 让table里的下拉框不被遮挡
记录:layui 让table里的下拉框不被遮挡 /* 这个是让table里的下拉框不被遮挡 */ .goods_table .layui-select-title,.goods_table .layui-select-title input{line-height: 28px;height: 28px; }.goods_table .layui-table-cell {overflow: visible !important; }.…...

【性能优化】在大批量数据下使用 HTML+CSS实现走马灯,防止页面卡顿
切换效果 页面结构变化 1.需求背景 项目首页存有一个小的轮播模块,保密原因大概只能这么展示,左侧图片右侧文字,后端一次性返回几百条数据(开发环境下,生产环境只会更多).无法使用分页解决,前端需要懒加载防止页面卡顿 写个小demo演示,如下 2.解决思路 获取到数据后,取第一…...
https和http区别
1、安全性 HTTP信息是明文传输,而HTTPS则通过SSL/TLS协议进行加密传输,确保数据传输的安全性。HTTPS可以验证服务器身份,防止中间人攻击,保护数据的完整性和保密性。 2、端口号 HTTP默认使用80端口,而HTTPS默认使用…...

SD-AI大模型的安装
📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 ☁️运维工程师的职责:监…...
UDP-如何实现客户端与服务器端的通信(一对一、一对多、多对一、多对多之间的通信)
Java中提供了DatagramSocket来实现这个功能 1.服务器端的程序 创建Socket,监听6666端口读取来自客户端的“数据包”,创建数据包(通过DatagramPacket实现数据包的创建)接收数据包从数据包中,读取数据(通过recieve()接收数据和send()发送给数据) 代码如下…...

C++那些事之依赖注入
C那些事之依赖注入 最近星球里面有个小伙伴让更新一下依赖注入,于是写出了这篇文章,来从实际的例子讲解,本文会讲解一些原理与实现,完整的实现代码懒人版放在星球中,我们开始正文。 大纲: 直接依赖接口依赖…...
克隆的TrinityCore服务器网速慢卡顿问题的解决(未解决)
一台TrinityCore服务器,采用的是备份克隆安装的方式,在FreeBSD bhyve 中安装Ubuntu,安装细节见如下两篇文档:尝试在FreeBSD 的jail、bhyve里安装TrinityCore-CSDN博客 备份和镜像TrinityCore_魔兽世界 updating auth database...…...

独立站外链如何影响搜索引擎排名?
独立站的外链对搜索引擎排名有着非常重要的影响。简单来说,外链就像是别的网站对你的网站投的信任票。每一条外链都告诉搜索引擎:“这个网站的内容是有价值的,值得推荐。”因此,外链的数量和质量直接影响你的网站在搜索引擎中的排…...
java设计模式:03-04-装饰器模式
装饰器模式(Decorator Pattern) 装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许向一个现有的对象添加新的功能,同时又不改变其结构。装饰器模式通过创建一个装饰类来包装原有的类,…...

通过splunk web服务将服务器上文件下载到本地
1. 需求说明 工作中经常遇到需要将服务器上的文件下载到本地,但是由于各种网络环境限制,没办法使用winscp或者xftp工具,那么如何将服务器上的文件下载下来呢? 这里提供一种思路: 如果服务器上安装有web服务,可将待下…...
Node.js 路由
Node.js 路由 介绍 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者使用 JavaScript 编写服务器端代码。Node.js 的一个核心特性是其事件驱动和非阻塞 I/O 模型,这使得它非常适合处理高并发和 I/O 密集型的应用程序。在 Node.js 中,路由是指确定应…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...