项目4 数据库查询与分析_第1页
项目4 数据库查询与分析_第2页
项目4 数据库查询与分析_第3页
项目4 数据库查询与分析_第4页
项目4 数据库查询与分析_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机专业课程湖南财工职业学院MySQL版主讲:数据库技术及应用黄承明目录页ContentsPage项目1数据库认识与体验项目2数据库设计与建模项目3数据库构建与维护项目4数据库查询与分析项目5数据库优化与编程项目6数据库安全与管理项目7电商数据库应用实战项目8嵌入式数据库应用过渡页TRANSITIONPAGE项目4数据库查询与分析任务4.1单表查询任务4.2分组与排序任务4.3多表查询核心知识体系概览【项目导图】项目四应用开发阶段核心框架导图全面覆盖应用开发全流程:从需求分析与设计建模的前期规划,到数据查询、视图索引、事务锁机制等核心技术点,再到SQL编程进阶与运维优化,构建了从理论到实践的完整闭环,助力掌握数据库应用开发的关键技能。单表查询任务4.14.1.1选择列(数据投影操作)4.1.2选择行(条件筛选操作)4.1.3去重处理(DISTINCT关键字)4.1.4限量查询(LIMIT限制返回行数)4.1.5常用内置函数与聚合计算任务二解析SELECT查询语法【知识梳理】项目2SQL数据查询与处理1.SELECT语句语法结构SELECT语句标准语法框架基础格式:SELECT[ALL|DISTINCT]{*|字段列表}FROM表名[WHERE筛选条件][GROUPBY分组字段][ORDERBY排序字段][LIMIT记录数];核心子句功能拆解SELECT子句:决定查询返回的列信息,*表示查询所有列,DISTINCT用于去除重复记录。FROM子句:指定查询的数据来源表,是SQL查询的基础,必须存在的核心组成部分。WHERE子句:对原始数据行进行前置筛选,仅保留满足条件的记录,减少后续计算量。ORDERBY子句:对最终查询结果进行排序,ASC代表升序(默认),DESC代表降序排列。LIMIT子句:限制返回结果的行数,常用于分页展示数据或快速获取前N条记录。任务4-1掌握基本查询语法任务4-1-1选择列(投影操作)项目4SQL数据查询与管理1.SELECT核心语法与应用示例◆指定列查询(精准投影)语法:SELECT列名1,列名2,...FROM表名;

示例:查询商品标题、型号与上架时间→SELECTtitle,model,sale_timeFROMgoods;◆全列查询(快捷检索)语法:SELECT*FROM表名;

示例:查询分类表所有信息→SELECT*FROMcategory;任务4-1基础查询与投影操作【任务4-1-1】选择列(投影操作)项目4SQL数据查询基础为字段指定别名(AS关键字应用)▍核心作用为查询结果中的字段赋予临时、更直观的名称,解决原始字段名晦涩难懂的问题,优化展示效果。▍基础语法SELECT字段名[AS]别名FROM表名;▍应用示例SELECTtitleAS商品名称,modelAS型号FROMgoods;注:AS关键字可省略,直接用空格分隔字段名与别名。任务4-1数据投影与筛选任务4-1-1选择列(投影操作)项目4SQL数据查询与处理核心:使用CASE定义新列功能解析:在SELECT语句中嵌入CASE表达式,能够实现程序中IF-ELSE的逻辑判断效果,根据字段值的条件动态计算并生成新列。SQL示例(按价格分级):SELECTtitle,price,CASEWHENprice>=9000THEN'High'ELSE'Medium'ENDASlevelFROMgoods;任务4-1基础查询语法【任务4-1-2】选择行(选择操作)项目4SQL数据查询与应用核心:使用WHERE子句构建筛选条件01.WHERE子句作用在SQL查询中,通过WHERE子句后的条件表达式,从数据表中筛选出符合业务需求的记录行,实现“选择行”的核心功能。02.常用筛选运算符分类●比较运算:=(等于)、<(小于)、>(大于)、<=、>=、<>/!=(不等于)●逻辑运算:AND(且,同时满足)、OR(或,满足其一)、NOT(非,取反)●范围匹配:BETWEEN最小值AND最大值(查询区间内数据)●模糊查询:LIKE(匹配字符模式),搭配%(通配符)、_(单个字符)使用●列表匹配:IN(匹配列表中的任意值)、NOTIN(排除列表值)●空值判断:ISNULL(字段为空)、ISNOTNULL(字段非空)——注意不能用=NULLSQL进阶WHERE条件子句应用任务4-1-2选择行(选择操作)项目4数据查询与筛选实战01.条件查询典型场景与语法▍场景一:数值条件筛选(关系表达式)需求:从商品表中筛选出价格大于5000元的商品,仅展示名称与价格字段。SQL语句:SELECTtitle,priceFROMgoodsWHEREprice>5000;▍场景二:空值判断筛选(特殊条件)需求:查询分类表中没有上级分类的顶级类目(即parent_id为空的记录)。SQL语句:SELECT*FROMcategoryWHEREparent_idISNULL;(注意:禁止使用=NULL)项目4数据查询与筛选任务4数据库基本查询操作【任务4-1-2】选择行(选择操作)模糊查询与区间查询01模糊查询(LIKE关键字)

利用通配符匹配模式:%匹配任意长度字符,_匹配单个字符,适合不确定完整内容的检索。

SQL示例:SELECT*FROMmembersWHEREcareerLIKE'%师';02区间查询(BETWEEN...AND...)

筛选字段值在连续区间内的记录,包含上下边界值,常用于价格、日期等范围查询。

SQL示例:SELECT*FROMgoodsWHEREpriceBETWEEN5000AND8000;图示1:查询职业以“师”结尾的会员数据图示2:查询价格在5000-8000区间的商品订单数据筛选与结果集控制【任务4-1-3&4.1.4】去重与限量SQL基础查询进阶01.去重处理(DISTINCT)核心作用:消除查询结果集中的重复记录,仅返回字段的唯一值,常用于统计不重复的类别或标签。标准语法:SELECTDISTINCT字段名FROM表名;应用示例:SELECTDISTINCTbrandFROMgoods;02.限量查询(LIMIT)核心作用:限制返回结果的行数,是实现数据分页展示、快速预览表中前N条数据的关键。标准语法:SELECT*FROM表名LIMIT[OFFSET,]行数;应用示例:SELECT*FROMcategoryLIMIT3,7;📊效果演示:LIMIT3,7执行结果图示为查询分类表的结果,SQL语句意为“跳过前3条记录,获取接下来的7条数据”,常用于分页场景。任务四数据库操作进阶任务4-1-5内置函数项目4数据查询与处理MySQL常用内置函数分类解析01核心函数分类与用途●日期时间函数:处理时间维度数据,提取关键时间单位。常用:CURDATE(),NOW(),YEAR(date),MONTH(date),DAY(date)●字符串函数:实现文本的拼接、转换与截取。常用:CONCAT(s1,s2),LOWER(str),UPPER(str),SUBSTRING(str,pos,len)●数学函数:完成数值的计算与格式化。常用:ABS(num),MOD(m,n),CEIL(num),FLOOR(num),ROUND(num)02函数执行效果示例展示YEAR()函数应用

从日期类型字段(如生日)中提取年份信息,常用于按年份统计数据。CONCAT()拼接

将多个字符串字段或常量连接,生成组合信息。分组与排序任务4.24.2.1聚合查询基础4.2.2分组查询(GROUPBY)4.2.3结果排序(ORDERBY)在掌握单表基础查询后,数据的统计与分析是进阶的核心。本任务将深入学习如何通过聚合函数对数据进行统计,利用GROUPBY实现数据的分组归类,并结合ORDERBY对查询结果进行有序化展示,为复杂的数据报表生成奠定基础。项目2数据统计与分析任务二掌握聚合函数应用【知识梳理】2.聚合函数:数据分析的基石▍核心概念聚合函数是对一组数据进行计算并返回单一结果的函数,主要用于数据的统计与汇总,是SQL数据分析中不可或缺的工具。▍五大常用聚合函数速查🔹COUNT():统计记录行数(如:总人数、订单总数)

🔹SUM():计算数值列总和(如:销售总额、总分数)

🔹AVG():计算数值列平均值(如:平均分、平均单价)

🔹MAX():获取列中最大值(如:最高分、最晚时间)

🔹MIN():获取列中最小值(如:最低分、最早时间)案例:COUNT(*)统计总数用于快速统计表中的总记录数,无论字段是否为NULL,都会被计入统计,是数据普查的基础函数。案例:AVG()计算平均值自动过滤NULL值,计算指定数值列的平均值,常用于评估整体水平,如学生平均成绩、商品平均评分等。项目4数据统计与聚合分析任务4-2-2分组查询1.理解GROUPBY分组统计逻辑▍核心概念将数据表按照指定字段进行“归类打包”,对每个分组独立使用聚合函数(如COUNT、SUM、AVG等),常用于统计各类别的总数、平均值等场景。▍SQL实现示例SELECTregionAS所在地区,COUNT(*)AS会员人数

FROMmembers

GROUPBYregion;说明:按region字段分组,统计每个地区的会员总人数。项目4SQL数据查询进阶任务4-2分组查询与筛选任务4-2-2使用HAVING过滤分组核心:聚合筛选与分组结果过滤01.核心作用与定位HAVING是SQL中唯一能在GROUPBY分组之后对结果集进行筛选的子句,专门用于配合聚合函数(如COUNT、SUM、AVG)进行条件判断,弥补了WHERE无法过滤分组结果的缺陷。02.场景示例:筛选高活跃度地区需求:仅查看会员人数超过5人的地区数据,剔除人数较少的分组。03.关键SQL语句实现SELECTregion,COUNT(*)AS会员人数

FROMmembers

GROUPBYregion

HAVINGCOUNT(*)>5;查询结果预览:仅显示满足“人数>5”条件的地区分组任务4-2-3结果排序(ORDERBY)项目4数据库查询进阶应用任务4-2数据排序与结果限制1.掌握ORDERBY核心语法与应用▍功能说明:使用ORDERBY子句对SELECT查询结果进行排序,支持多字段组合排序。默认按ASC(升序)排列,添加DESC关键字可实现降序排列。▍应用示例:需求:查询商品表,按价格降序排列,若价格相同则按库存升序排列。SQL>SELECT*FROMgoodsORDERBYpriceDESC,stockASC;多表查询任务4.34.3.1连接查询(JOIN)4.3.2联合查询(UNION)4.3.3子查询(Subquery)项目4数据库多表查询实战任务4-3掌握表连接核心语法任务4-3-1内连接(INNERJOIN)核心机制:仅返回两表满足连接条件的匹配记录▍定义与特点:内连接是最基础的表关联方式,它会根据指定的连接条件(如主键与外键对应),筛选出两个表中完全匹配的记录行进行组合展示,非匹配数据会被自动过滤。▍标准语法:SELECT字段名FROM表AJOIN表BON表A.关联字段=表B.关联字段;▍应用场景:当需要整合分散在不同表中的信息时使用,例如:查询商品信息时,同时显示该商品所属的分类名称。任务4-3掌握SQL多表连接查询任务4-3-1左外连接(LEFTJOIN)项目4数据库查询进阶与优化01.核心逻辑与业务应用场景▍核心机制:以左侧表为驱动表,返回其所有记录;若右侧表无匹配的关联数据,则对应字段填充NULL值,保证主表数据的完整性。▍典型应用:需要展示“全量主体信息+可选关联信息”的场景,如:统计所有员工的绩效数据(包含暂无绩效的新员工)、查询所有商品的评论(包含无评论的商品)。💻实战SQL代码示例:SELECTm.full_name,o.idASorder_id

FROMmembersm

LEFTJOINorderso

ONm.id=o.member_id;✨执行结果:返回所有用户记录,对于未下订单的用户,order_id列将显示NULL,如左图所示。项目4数据库高级查询与应用任务4-3表连接的高级用法【任务4-3-1】自连接(Self-Join)核心概念:单表自我关联与数据比对▍自连接定义与价值将同一张数据表赋予不同的别名(如a、b),把它当作两个独立的表进行连接查询。这种方式打破了单表查询的局限,能够高效实现表内数据的横向比对与层级关联。▍典型应用场景常用于查询“同类关联数据”,例如:查找与“张伟”居住在同一城市的所有用户、在员工表中查询每个员工的直属上级信息、在评论表中查找同一主题下的相关评论等。--示例:查询与“张伟”同城的用户SELECTa.full_name,a.cityFROMmembersaJOINmembersbONa.city=b.cityWHEREb.full_name='张伟';💡解析:通过别名a和b将members表虚拟为两张表,利用city字段建立连接条件,筛选出与张伟所在城市匹配的所有用户记录。任务4-3多表与联合查询应用任务4-3-2联合查询(UNION)项目4数据库查询进阶与优化1.理解UNION垂直合并结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论