Oracle SQL教程:多列分组与查询基础

需积分: 50 5 下载量 166 浏览量 更新于2024-08-15 收藏 444KB PPT 举报
"这篇教程是Oracle SQL的基础讲解,主要展示了如何进行多列分组操作,并提供了实例。在Oracle SQL中,多列分组允许我们更深入地分析数据,例如,可以先按照部门(DEPTNO)分组,再按照职位(JOB)分组,从而得到每个部门内不同职位的工资总和(SUM(SAL))和平均工资(AVG(SAL))。通过这种方式,我们可以更好地理解员工薪资分布情况。" 在Oracle SQL中,多列分组是一个强大的数据分析工具,它基于GROUP BY语句。GROUP BY子句用于将结果集按照一个或多个列进行分组,以便对每个分组执行聚合函数,如SUM、AVG、COUNT等。在这个例子中,DEPTNO和JOB被用来作为分组依据。这样做可以让我们得到每个部门内各个职位的工资总额和平均工资,这对于人力资源管理或者财务分析非常有用。 以下是对给出的例子的详细解释: ```sql SELECT DEPTNO, JOB, SUM(SAL), AVG(SAL) FROM EMP GROUP BY DEPTNO, JOB; ``` 这条SQL语句首先选择了DEPTNO(部门编号)、JOB(职位)和两个聚合函数SUM(SAL)(工资总和)及AVG(SAL)(平均工资)作为查询结果。然后,它按照DEPTNO和JOB对表EMP中的记录进行分组。执行后,我们得到了每个部门内各个职位的工资统计信息。 例如,部门10(DEPTNO=10)有三种职位:CLERK、MANAGER和PRESIDENT。CLERK的工资总和是1300,平均值也是1300;MANAGER的工资总和是2450,平均值是2450;PRESIDENT的工资总和是5000,平均值是5000。这个信息对于分析部门内部的薪资结构非常有帮助。 除了多列分组,SQL还涵盖了其他重要的概念,如SQL的历史、标准化过程、主要版本的发展(如SQL-86、SQL-89、SQL-92等),以及SQL的特点,比如一体化(集DDL、DML、DCL于一体)、面向集合的操作方式、高度非过程化等。此外,SQL还包括了数据查询(SELECT)、数据定义(CREATE、ALTER、DROP)、数据操纵(INSERT、UPDATE、DELETE)和数据控制(GRANT、REVOKE)等功能。 在实际学习SQL时,可以使用SQLPLUS这样的工具,通过创建用户和数据库来进行实践操作。像SCOTT这样的用户在某些Oracle版本中可能需要手动创建。通过这样的实践,可以加深对SQL的理解和运用。