oracle分组函数.ppt

上传人:wuy****n92 文档编号:70796770 上传时间:2023-01-28 格式:PPT 页数:26 大小:390.50KB
返回 下载 相关 举报
oracle分组函数.ppt_第1页
第1页 / 共26页
oracle分组函数.ppt_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《oracle分组函数.ppt》由会员分享,可在线阅读,更多相关《oracle分组函数.ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、分组函数分组函数 组函数类型组函数类型SELECTcolumn,group_function(column),.FROMtableWHEREconditionGROUP BYcolumnORDER BYcolumn;组函数语法组函数语法创建一个查询,显示出员工的平均、最高、最低以及工资总和。创建一个查询,显示出员工的平均、最高、最低以及工资总和。AVG(平均值)和平均值)和 SUM(合计)函数合计)函数MIN(最小值)和最小值)和 MAX(最大值)函数最大值)函数创建一个查询,显示出年龄最小与年龄最大的员工的年龄。创建一个查询,显示出年龄最小与年龄最大的员工的年龄。创建一个查询,显示按字母排序

2、,员工的排在最前面和最后面的名字。创建一个查询,显示按字母排序,员工的排在最前面和最后面的名字。创建一个查询,显示部门创建一个查询,显示部门50的员工总数。的员工总数。COUNT(计数)函数计数)函数创建一个查询,显示部门创建一个查询,显示部门80中有佣金的员工人数。中有佣金的员工人数。创建一个查询,显示出创建一个查询,显示出employees表中不重复的部门数。表中不重复的部门数。COUNT(计数)函数计数)函数SELECT AVG(commission_pct)FROM employees;组函数与空值组函数与空值组函数忽略空值。组函数忽略空值。SELECT AVG(NVL(commiss

3、ion_pct,0)FROM employees;在组函数中使用在组函数中使用NVL函数函数NVL函数使分组函数无法忽略空值。函数使分组函数无法忽略空值。分组数据分组数据 EMPLOYEES求出求出EMPLOYEES表中各表中各部门的部门的平均工资平均工资440095003500640010033SELECTcolumn,group_function(column)FROMtableWHEREconditionGROUP BYgroup_by_expressionORDER BYcolumn;分组数据分组数据:GROUP BY 子句语法子句语法可以使用可以使用GROUP BY 子句将表中的数据

4、分子句将表中的数据分成若干组成若干组SELECT department_id,AVG(salary)FROM employeesGROUP BY department_id;GROUP BY 子句子句 在在SELECT 列表中所有未包含在组函数列表中所有未包含在组函数中的列都应该包含中的列都应该包含在在 GROUP BY 子句中。子句中。GROUP BY 子句子句 包含在包含在 GROUP BY 子句中的列不必包含在子句中的列不必包含在SELECT 列表中。列表中。SELECT AVG(salary)FROM employeesGROUP BY department_id;使用多个列分组使用多

5、个列分组EMPLOYEES使用多个列使用多个列进行分组进行分组SELECT department_id dept_id,job_id,SUM(salary)FROM employeesGROUP BY department_id,job_id;在在GROUP BY 子句中包含多个列子句中包含多个列非法使用组函数非法使用组函数所用包含于所用包含于SELECT 列表中,而未包含于组函列表中,而未包含于组函数中的列都数中的列都必须包含于必须包含于 GROUP BY 子句中。子句中。SELECT department_id,COUNT(last_name)FROM employees;SELECT d

6、epartment_id,COUNT(last_name)*ERROR at line 1:ORA-00937:not a single-group group functionGROUP BYGROUP BY 子句中缺少列子句中缺少列子句中缺少列子句中缺少列非法使用组函数非法使用组函数不能在不能在 WHERE 子句中使用组函数。子句中使用组函数。可以在可以在HAVING 子句中使用组函数。子句中使用组函数。SELECT department_id,AVG(salary)FROM employeesWHERE AVG(salary)8000GROUP BY department_id;WHER

7、E AVG(salary)8000 *ERROR at line 3:ORA-00934:group function is not allowed hereWHEREWHERE 子句中不能使用组函数子句中不能使用组函数子句中不能使用组函数子句中不能使用组函数过滤分组过滤分组The maximumsalaryper departmentwhen it isgreater than$10,000EMPLOYEESSELECTcolumn,group_functionFROMtableWHEREconditionGROUP BYgroup_by_expressionHAVINGgroup_cond

8、itionORDER BYcolumn;过滤分组:过滤分组:HAVING 子句子句使用使用 HAVING 过滤分组过滤分组:1.行已经被分组。行已经被分组。2.使用了组函数。使用了组函数。3.满足满足HAVING 子句中条件的分组将被显示。子句中条件的分组将被显示。HAVING 子句子句SELECT department_id,MAX(salary)FROM employeesGROUP BY department_idHAVING MAX(salary)10000;SELECT job_id,SUM(salary)PAYROLLFROM employeesWHERE job_id NOT L

9、IKE%REP%GROUP BY job_idHAVING SUM(salary)13000ORDER BY SUM(salary);HAVING 子句子句嵌套组函数嵌套组函数显示平均工资的最大值显示平均工资的最大值SELECT MAX(AVG(salary)FROM employeesGROUP BY department_id;SELECTcolumn,group_function(column)FROMtableWHEREconditionGROUP BYgroup_by_expressionHAVINGgroup_conditionORDER BYcolumn;总结总结通过本章学习,您已经学会通过本章学习,您已经学会:使用组函数。使用组函数。在查询中使用在查询中使用 GROUP BY 子句。子句。在查询中使用在查询中使用 HAVING 子句。子句。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁