



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OCP-007-Chapter5 使用组函数 目的学完本课后,可以完成下列事情:了解可用的组函数描述组函数的使用使用Group By子句对行进行分组使用Having子句对分组后的行进行排除或选择组函数在一组行的集合上面操作,每组返回一个值组函数的类型:(每个组函数接受一个参数,忽略null值)AVG(DISTINCT|ALLn) -缺省为ALLCOUNT(*|DISTINCT|ALLexpr) -缺省为ALL,使用*会选择重复行和null值MAX(DISTINCT|ALLexpr),MIN(DISTINCT|ALLexpr),STDDEV(DISTINCT|ALLx), SUM(DISTINCT|ALLn),VARIANCE(DISTINCT|ALLx) -缺省都为ALL,忽略null值SELECT column, group_function(column), .FROM tableWHERE conditionGROUP BY group_by_expressionHAVING group_conditionORDER BY column;所有的组函数几乎都忽略null值,要使用nvl,nvl2等函数替换null值MIN和MAX可以用于任何数据类型,AVG、SUM、VARIANCE和STDDEV只能用于数字数据类型SELECT AVG(NVL(commission_pct, 0) -先把commission_pct中的null转换为0FROM employees;select列表里的列名,要么出现在组函数里面,要么出现在Group By子句里面,否则会出现错误where子句用在分组之前把不需要的行排除掉在Group By子句中不能使用列别名Group By子句所依据的列,不一定非要在select子句中出现在order by子句中可以使用组函数使用多列分组,此时会在第一次产生的分组结果之中进行第二次分组,而组函数是对最后的结果进行处理。不能使用where子句限制组(包括组函数),要使用having子句,而且在where子句中不能使用组函数having子句用于行已经分组,组函数已经应用,此时只有满足条件的行才会显示出来组函数可以嵌套,最多两层练习(答案在卷2的296页)1.T 2.F 3.T 4. select max(salary) Maximum, min(salary) Minimum, sum(salary) Sum, round(avg(salary) Average from employees;5. select job_id, max(salary) Maximum, min(salary) Minimum, sum(salary) Sum, round(avg(salary) Average from employeesgroup by job_id;6. select job_id, count(*) from employees group by job_id;7. select count(distinct manager_id) Number of Managers from employees;8. select max(salary)-min(salary) DIFFERENCE from employees;9. select manager_id, min(salary)from employeeswhere manager_id is not nullgroup by manager_idhaving min(salary) 6000order by min(salary) desc10. select d.department_name Name, d.location_id Location, count(*) Number of People, round(avg(e.salary),2) Salaryfrom departments dnatural join employees ewhere e.last_name is not nullgroup by department_name,location_id11. select count(*) total ,sum(nvl(nullif(0,to_char(hire_date,YYYY)-1995),1) 1995, sum(nvl(nullif(0,to_char(hire_date,YYYY)-1996),1) 1996, sum(nvl(nullif(0,to_char(hire_date,YYYY)-1997),1) 1997, sum(nvl(nullif(0,to_char(hire_date,YYYY)-1998),1) 1998 from employees ;注意别名里面的数字要使用双引号包围起来答案:SELECT COUNT(*) total,SUM(DECODE(TO_CHAR(hire_date, YYYY),1995,1,0) 1995,SUM(DECODE(TO_CHAR(hire_date, YYYY),1996,1,0) 1996,SUM(DECODE(TO_CHAR(hire_date, YYYY),1997,1,0) 1997,SUM(DECODE(TO_CHAR(hire_date, YYYY),1998,1,0) 1998FROM employees;可以看到使用decode要简单清晰很多12. select job_id Job, sum(case department_id when 20 then salary end) Depart 20, sum(case department_id when 50 then salary end) Depart 50, sum(case department_id when 80 then salary end) Depart 80, sum(case department_id when 90 then salary end) Depart 90, sum(salary) Totalfrom employeesgroup by job_id答案:SELECT job_id Job,SUM(DECODE(department_id , 20, salary) Dept 20,SUM(DECODE(department_id , 50, salary) Dept 50,SUM(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社保基金举报管理办法
- 社会救助经费管理办法
- 山东高级导游等级考试(导游综合知识)综合能力测试题及答案(2025年)
- 出血与血栓基础理论课件
- 中华人民共和国公职人员政务处分法测试题库及参考答案
- 出差员工安全培训课件
- 出境出差安全培训内容课件
- 2025汽车租赁委托合同样本范文
- 2025年建筑工程钢筋供应合同范本
- 2025如何确定合同终止的时间合同纠纷的管辖
- 《注塑成型原理》课件
- 2025年春新北师大版数学七年级下册全册教案
- 2024年湖南省国际工程咨询集团有限公司招聘笔试真题
- 高速公路文明施工文物保护保证体系及保证措施
- 急危重症患者抢救及会诊制度
- 电池及电池系统维修保养师国家职业标准(2024年)
- 软件可行性报告范文
- 脑转移瘤的治疗进展
- 临床成人失禁相关性皮炎的预防与护理团体标准解读
- DB14-T 3095-2024 致密砂岩气开发排采水回注技术规范
- 接触网运行与检修 课件全套 薛艳红 第1-9章 电气化铁道概述-高速铁路接触网精测精修
评论
0/150
提交评论