Oracle SQL教程:HAVING子句限定分组函数结果
需积分: 50 33 浏览量
更新于2024-08-15
收藏 444KB PPT 举报
"这篇教程介绍了如何在Oracle SQL中使用HAVING子句来限定分组函数的结果值。HAVING子句通常用于在GROUP BY语句之后,对聚合函数(如SUM, AVG等)的结果进行条件筛选。文章通过一个示例展示了如何筛选出平均薪资大于2000的部门和职位组合。"
在SQL中,HAVING子句是一个关键的概念,特别是在执行分组查询时。它允许我们在对数据进行分组后,基于分组函数的结果应用条件过滤。这是因为WHERE子句不能直接处理分组函数,而HAVING子句则弥补了这一限制。
例如,教程中的SQL查询:
```sql
SELECT DEPTNO, JOB, SUM(SAL), AVG(SAL)
FROM EMP
GROUP BY DEPTNO, JOB
HAVING AVG(SAL) > 2000;
```
这个查询首先按照部门号(DEPTNO)和职位(JOB)对员工表(EMP)进行分组,然后计算每个组的薪水总和(SUM(SAL))和平均薪水(AVG(SAL))。HAVING子句确保只有那些平均薪水大于2000的组被返回,结果展示的是满足条件的部门和职位,以及它们的薪水总和和平均值。
Oracle SQL是数据库管理系统Oracle中的查询语言,它遵循SQL标准,并在其基础上提供了许多扩展特性。SQL的发展历程可以追溯到1974年,由Boyce和Chamberlin提出,随后在IBM的System R上实现。随着时间的推移,SQL经历了一系列的标准化过程,如SQL-86, SQL-89, SQL-92等,不断添加新功能和增强其表达能力。
SQL的特点包括:一体化(DDL, DML, DCL集成)、面向集合的操作、高度非过程化、两种使用方式(自含式和嵌入式)以及简洁易学的语法。它主要用于数据查询、定义、操纵和控制,例如,使用SELECT进行查询,CREATE, ALTER, DROP进行数据定义,INSERT, UPDATE, DELETE进行数据操纵,以及GRANT, REVOKE进行数据控制。
在实际学习和使用Oracle SQL时,通常会借助工具如SQLPLUS进行练习,创建和管理用户以及数据库对象。像SCOTT这样的示例用户,在不同版本的Oracle数据库中可能需要手动创建。
HAVING子句在SQL中扮演着重要的角色,它使得我们能够基于聚合函数的结果对数据进行更复杂的过滤,这对于数据分析和报表生成尤其有用。同时,理解Oracle SQL的基础知识,包括其历史、标准化过程以及主要功能,对于任何想要深入掌握数据库管理的人来说都是必不可少的。
110 浏览量
216 浏览量
2009-10-31 上传
123 浏览量
112 浏览量
140 浏览量
117 浏览量
101 浏览量
2013-02-05 上传
条之
- 粉丝: 27
- 资源: 2万+
最新资源
- ZPM:基于premake5的C ++软件包管理器
- hymenoptera_data.zip
- 经销商管理——经销商如何在厂商交易中立于不败之地
- kafka-stream-money-deserialization:一个用于研究Spring Kafka Streams的序列化反序列化问题的演示项目
- 初级java笔试题-my-study-tracking-list:我的学习跟踪列表
- gRPC节点:使用Node JS的gRPC演示
- google_maps_webservice
- 白酒高端产品选择经销商的误区
- git-count:计算您的提交
- 初级java笔试题-interview-prep-guide:面试准备指南
- Keil 软件最新版.rar
- wasm-udf-example
- 初级java笔试题-code-tasks:从@jwasham克隆-我的学习仪表板
- 红色状态::chart_increasing:齿轮创建者的正常运行时间监控器和状态页面,由@upptime提供支持
- vue-monoplasty-slide-verify:Vue幻灯片验证在线预览
- JDK8版本jdk-8u202-linux-arm32-vfp-hflt.tar(gz).zip