




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OracleSQL开发基础课程结构内容课时(H)第一章
Oracle数据库基础1.8第二章编写简单的查询语句1.2第三章限制数据和对数据排序1.5第四章单行函数2.5第五章多表查询2第六章分组函数2第七章子查询2第八章数据操作与事务控制3.5第九章表和约束4第十章其他数据库对象2.5第六章分组函数目标:本章旨在向学员介绍:1)分组函数的基本概念2)分组函数的使用方法时间:2学时教学方法:讲授ppt+上机练习本章要点分组函数的目的分组函数基本概念SUM、AVG、MIN、MAX、COUNT函数使用GROUPBY子句HAVING子句第六章分组函数分组函数:6.1分组函数6.2GROUPBY…HAVING子句的使用6.1分组函数分组函数是对表中一组记录进行操作,每组只返回一个结果。即首先要对表记录进行分组,然后再进行操作汇总,每组返回一个结果。分组时可能是整个表分为一组,也可能根据条件分成多组。分组函数常用到以下的五个函数:MINMAXSUMAVGCOUNT6.1.1MIN函数和MAX函数1/2MIN和MAX函数主要是返回每组的最小值和最大值。MIN([DISTINCT|ALL]表达式)MAX([DISTINCT|ALL]表达式)例6-1员工最低工资及最高工资的示例。
SELECTMIN(salary),MAX(salary)FROM employees;6.1.1MIN函数和MAX函数2/2例6-2员工姓最开始及最后的示例。例6-3员工最低工资及最高工资的示例。SELECT MIN(last_name),MAX(last_name)FROM employees;SELECT MIN(salary),MAX(salary)FROM employees;6.1.2SUM函数和AVG函数SUM和AVG函数分别返回总和及平均值。SUM([DISTINCT|ALL]n)AVG([DISTINCT|ALL]n)SUM和AVG函数都是只能够对数字类型的列或表达式操作。例6-4公司员工总工资及平均工资的示例。SELECT SUM(salary),AVG(salary)FROM employees;6.1.3COUNT函数COUNT函数的主要功能是返回每组记录的条数。COUNT({*|[DISTINCT|ALL]表达式})例6-5公司IT_PROG职位的员工人数的示例。例6-6公司有部门员工人数的示例。SELECT COUNT(*)FROM employeesWHERE job_id='IT_PROG';SELECTCOUNT(department_id)FROMemployees;6.1.4组函数中DISTINCTDISTINCT会消除重复记录后再使用组函数例6-7公司有员工部门数的示例。
SELECT COUNT(DISTINCTdepartment_id)FROM employees;6.1.5组函数中空值处理所有组函数对空值都是忽略的。例6-8员工平均奖金的示例——忽略空值。例6-9员工平均奖金的示例——空值转化。SELECT AVG(commission_pct)FROM employees;SELECT AVG(NVL(commission_pct,0))FROM employees;第六章分组函数分组函数:6.1分组函数6.2GROUPBY…HAVING子句的使用6.2.1GROUPBY子句1/2组函数忽略空值,可以使用NVL,NVL2,COALESCE函数处理空值结果集隐式按升序排列,如果需要改变排序方式可以使用Orderby子句(9i)SELECT 列名,组函数(列名)FROM 表名[WHERE 条件][GROUPBY 分组列][ORDERBY 列名];6.2.1GROUPBY子句2/2例6-10每个部门的总工资。例6-11相同职位且经理相同的员工平均工资。SELECTdepartment_id,SUM(salary)FROMemployeesGROUPBYdepartment_id;SELECT job_id,manager_id,AVG(salary)FROM employeesGROUPBYjob_id,manager_idORDERBYjob_id;6.2.2GROUPBY子句注意问题1/2
在GROUPBY子句使用中,有两点需要注意:GROUPBY子句后的列可以不在SELECT语句中出现。SELECT子句中出现的非分组函数列必须在GROUPBY子句中出现。例6-12查询公司每个职位的平均工资,职位列不显示,同时结果按照平均工资排序。SELECT AVG(salary)FROM employeesGROUPBYjob_idORDERBYAVG(salary);6.2.2GROUPBY子句注意问题2/2
例6-13分组汇总错误示例例6-14分组汇总正确示例SELECT department_id,job_id,AVG(salary)FROM employeesGROUPBYdepartment_id;SELECT department_id,job_id,AVG(salary)FROM employeesGROUPBYdepartment_id,job_id;6.2.3HAVING子句1/5例6-15组函数筛选示例。原因是Oracle查询语句的执行顺序是:FROMWHEREGROUPBYSELECTORDERBYSELECTjob_id,MAX(salary)FROM employeesWHEREMAX(salary)>=9000GROUPBYjob_id;6.2.3HAVING子句2/5语法结构如下:SELECT 列名,组函数FROM 表名[WHERE 条件][GROUPBY 分组列][HAVING 组函数表达式][ORDERBY 列名];6.2.3HAVING子句3/5例6-16组函数筛选示例。SELECT job_id,MAX(salary)FROM employeesGROUPBYjob_idHAVING MAX(salary)>=9000;6.2.3HAVING子句4/5总结SELECT语句执行过程:通过FROM子句中找到需要查询的表;通过WHERE子句进行非分组函数筛选判断;通过GROUPBY子句完成分组操作;通过HAVING子句完成组函数筛选判断;通过SELECT子句选择显示的列或表达式及组函数;通过ORDERBY子句进行排序操作。6.2.3HAVING子句5/5例6-17组函数演示。SELECT department_id,MAX(salary)FROM employeesWHERE department_idBETWEEN30AND90GROUPBYdepartment_idHAVING MAX(salary)>=9000ORDERBYMAX(salary);6.2.4组函数的嵌套组函数可以实现嵌套操作,嵌套级数是2级(select)。例6-18组函数嵌套演示。SELECT MAX(COUNT(employee_id))FROM employeesGROUPBYdepartment_id;本章小结MIN函数和MAX函数SUM函数和AVG函数COUNT函数组函数中DISTINCT消除重复行组函数中空值处理通过GROUPBY子句进行分组汇总GROUPBY子句使用需要注意的两个问题HAVING子句的使用组函数的嵌套练习1.查询部门平均工资在8000元以上的部门名称及平均工资。2.查询员工工作编号中不是以“SA_”开头并且平均工资
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绩效成本考试题目及答案
- 系统集成团队建设实例试题及答案
- 深入剖析系统集成试题及答案
- 2024春八年级地理下册第七章第一节香港特别行政区的国际枢纽功能学案答案不全新版湘教版
- 新高考专版2024-2025年高一地理专题02人口的空间变化同步有效作业必修2
- 专业知识2025年系统分析师考试试题及答案
- 孕期常见不适试题及答案
- 襄阳d照理论试题及答案
- 2025年中国锅炉阻垢缓蚀剂行业市场前景预测及投资价值评估分析报告
- 政治学概论试题及答案
- 项目volume3修改版-旧20.commissioning servicing manualFMZ5000火灾探测和灭火系统控制盘安装调试维保手册
- 消防安全常识二十条系列挂图清晰版
- GB/T 3672.1-2002橡胶制品的公差第1部分:尺寸公差
- GB/T 23227-2018卷烟纸、成形纸、接装纸、具有间断或连续透气区的材料以及具有不同透气带的材料透气度的测定
- GB/T 18049-2017热环境的人类工效学通过计算PMV和PPD指数与局部热舒适准则对热舒适进行分析测定与解释
- 烟草专卖管理师岗位技能标准(2023版)
- 半条被子(红军长征时期故事) PPT
- 公司车辆驾驶扣分违章处理证明 模板
- 一次性赔偿协议书模板
- (中职)车削加工技术全册实训课教案完整版
- 幼儿园绘本故事:《漏》
评论
0/150
提交评论