当前位置: 首页 > news >正文

数据分析入门指南:数据库入门(五)

本文将总结CDA认证考试中数据库中部分知识点,内容来源于《CDA模拟题库与备考资料PPT》

CDA认证,作为源自中国、面向全球的专业技能认证,覆盖金融、电信、零售、制造、能源、医疗医药、旅游、咨询等多个行业,旨在培养能够胜任数据采集、清洗、处理、分析及业务报告制作、数字化决策等任务的新型数据人才。

作为当今的数据驱动时代,SQL是数据分析师不可或缺的技能之一。本文将以探讨数据库查询、查询操作符、子查询、函数等方法,帮助你建立对数据库操作的初步认识。

一、数据库查询
1、SELECT语句的操作符

根据特定条件从数据库中查询出数据。

加号(+)、减号(-)、乘号(*)和除号(/),查询中虽然不直接用于构造查询语句,但在数据查询常常涉及数据的计算和转换。

2、聚合类函数

在SQL中,聚合类函数如AVG(平均值)、SUM(总和)、MAX(最大值)、MIN(最小值)和COUNT(计数)等,允许对数据库中的数据进行汇总和统计,从而得出有意义的结论。

3、多表查询

在实际应用中,数据库通常包含多个相互关联的表。多表查询,如内连接(INNER JOIN)、左连接(LEFT JOIN)和联合查询(UNION),是处理这些复杂数据结构的关键。内连接查询返回两个或多个表中匹配的行;左连接查询则返回左表中的所有行,以及与右表中匹配的行(如果右表中没有匹配项,则结果中这些行的右表部分将为空);联合查询则用于合并两个或多个SELECT语句的结果集,要求这些结果集具有相同的列数和数据类型。

image

二、查询操作符与子查询
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认证考试中数据库中部分知识点&#xff0c;内容来源于《CDA模拟题库与备考资料PPT》 。 CDA认证&#xff0c;作为源自中国、面向全球的专业技能认证&#xff0c;覆盖金融、电信、零售、制造、能源、医疗医药、旅游、咨询等多个行业&#xff0c;旨在培养能够胜任数…...

Logback日志异步打印接入指南,输出自定义业务数据

背景 随着应用的请求量上升&#xff0c;日志输出量也会成线性比例的上升&#xff0c;给磁盘IO带来压力与性能瓶颈。应用也遇到了线程池满&#xff0c;是因为大量线程卡在输出日志。为了缓解日志同步打印&#xff0c;会采取异步打印日志。这样会引起日志中的追踪id丢失&#xf…...

将iPad 作为Windows电脑副屏的几种方法(二)

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

[word] word表格跨页断开实现教程 #职场发展#媒体

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

《Linux运维总结:基于ARM64架构CPU使用docker-compose一键离线部署单机版tendis2.4.2》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面对不同的客户部署业务系统&#xff0…...

【Apache Doris】周FAQ集锦:第 14 期

【Apache Doris】周FAQ集锦&#xff1a;第 14 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目&#xff01; 在这个栏目中&#xff0c;每周将筛选社区反馈的热门问题和话题&#xff0c;重点回答并进行深入探讨。旨在为广大用户…...

Log4j的原理及应用详解(四)

本系列文章简介&#xff1a; 在软件开发的广阔领域中&#xff0c;日志记录是一项至关重要的活动。它不仅帮助开发者追踪程序的执行流程&#xff0c;还在问题排查、性能监控以及用户行为分析等方面发挥着不可替代的作用。随着软件系统的日益复杂&#xff0c;对日志管理的需求也日…...

农田自动化闸门的结构组成与功能解析

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

Python解释器:CPython 解释器

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

layui 让table里的下拉框不被遮挡

记录&#xff1a;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信息是明文传输&#xff0c;而HTTPS则通过SSL/TLS协议进行加密传输&#xff0c;确保数据传输的安全性。HTTPS可以验证服务器身份&#xff0c;防止中间人攻击&#xff0c;保护数据的完整性和保密性。 2、端口号 HTTP默认使用80端口&#xff0c;而HTTPS默认使用…...

SD-AI大模型的安装

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ☁️运维工程师的职责&#xff1a;监…...

UDP-如何实现客户端与服务器端的通信(一对一、一对多、多对一、多对多之间的通信)

Java中提供了DatagramSocket来实现这个功能 1.服务器端的程序 创建Socket&#xff0c;监听6666端口读取来自客户端的“数据包”,创建数据包(通过DatagramPacket实现数据包的创建)接收数据包从数据包中&#xff0c;读取数据(通过recieve()接收数据和send()发送给数据) 代码如下…...

C++那些事之依赖注入

C那些事之依赖注入 最近星球里面有个小伙伴让更新一下依赖注入&#xff0c;于是写出了这篇文章&#xff0c;来从实际的例子讲解&#xff0c;本文会讲解一些原理与实现&#xff0c;完整的实现代码懒人版放在星球中&#xff0c;我们开始正文。 大纲&#xff1a; 直接依赖接口依赖…...

克隆的TrinityCore服务器网速慢卡顿问题的解决(未解决)

一台TrinityCore服务器&#xff0c;采用的是备份克隆安装的方式&#xff0c;在FreeBSD bhyve 中安装Ubuntu&#xff0c;安装细节见如下两篇文档&#xff1a;尝试在FreeBSD 的jail、bhyve里安装TrinityCore-CSDN博客 备份和镜像TrinityCore_魔兽世界 updating auth database...…...

独立站外链如何影响搜索引擎排名?

独立站的外链对搜索引擎排名有着非常重要的影响。简单来说&#xff0c;外链就像是别的网站对你的网站投的信任票。每一条外链都告诉搜索引擎&#xff1a;“这个网站的内容是有价值的&#xff0c;值得推荐。”因此&#xff0c;外链的数量和质量直接影响你的网站在搜索引擎中的排…...

java设计模式:03-04-装饰器模式

装饰器模式&#xff08;Decorator Pattern&#xff09; 装饰器模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构。装饰器模式通过创建一个装饰类来包装原有的类&#xff0c;…...

通过splunk web服务将服务器上文件下载到本地

1. 需求说明 工作中经常遇到需要将服务器上的文件下载到本地&#xff0c;但是由于各种网络环境限制&#xff0c;没办法使用winscp或者xftp工具&#xff0c;那么如何将服务器上的文件下载下来呢&#xff1f; 这里提供一种思路: 如果服务器上安装有web服务&#xff0c;可将待下…...

Node.js 路由

Node.js 路由 介绍 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者使用 JavaScript 编写服务器端代码。Node.js 的一个核心特性是其事件驱动和非阻塞 I/O 模型,这使得它非常适合处理高并发和 I/O 密集型的应用程序。在 Node.js 中,路由是指确定应…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...