课件内容

Oracle SQL

2.3.8   对数据的分组与分组后对数据的筛选:

           有时,我们在利用SELECT进行查询时,需要对返回的数据进行分组,这时需要利用上面的分组函数,当在SELECT语句中使用分组函数时,我们必须把所有的非分组/非常量列放在GROUP BY从句中,否则系统将报错“ORA-00937not a single-group group function”。如果在SELECT语句中使用了分组函数,又没有GROUP BY语句,则缺省分组是整个结果集。

例八:

    SELECT deptno, job, AVG(sal) FROM EMP GROUP BY deptno,job;

例九(分组后筛选)

    SELECT deptno, job, AVG(sal) FROM EMP GROUP BY deptno,job   HAVING AVG(sal)>300;

                总结:SELECT语句的功能强大、语法复杂、用法灵活。如果能够熟练地掌握SELECT语句,将为你编程带来很大的方便。

             不断练习实践是熟练掌握的不二法门。SELECT语句的一般结构如下:
 
           SELECT … FROM …

           WHERE…

           GROUP BY…HAVING…

           ORDER BY…;