Oracle数据库之多行函数

前端之家收集整理的这篇文章主要介绍了Oracle数据库之多行函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

oracle安装参照: Oracle数据库之安装教程

Oracle数据库总结:

Oracle数据库之基本查询
Oracle数据库之单行函数
Oracle数据库之多行函数
Oracle数据库之多表查询
sql> –工资总额
sql> select sum(sal) from emp;

SUM(SAL)                                                                                                                                                                                              
----------      29025

sql> –人数
sql> select count(*) from emp;

COUNT(*)                                                                                                                                                                                              
----------         14

sql> –平均工资
sql> select sum(sal)/count(*) 一,avg(sal) 二 from emp;

                                                                                                                                                                                            
---------- ----------                                                                                                                                                                                   
2073.21429 2073.21429

sql> –平均奖金
sql> select sum(comm)/count(*) 一,sum(comm)/count(comm) 二,avg(comm) 三
2 from emp;

                                                                                                                                                                                          
---------- ---------- ----------                                                                                                                                                                        
157.142857        550        550

sql> –求部门的平均工资
sql> select deptno,avg(sal)
2 from emp
3 group by deptno;

DEPTNO   AVG(SAL)                                                                                                                                                                                   
---------- ----------                                                                                                                                                                                   
        30 1566.66667                                                                                                                                                                                   
        20       2175                                                                                                                                                                                   
        10 2916.66667

sql> –多个列的分组
sql> select deptno,job,sum(sal)
2 from emp
3 group by deptno,job
4 order by 1;

DEPTNO JOB         SUM(SAL)                                                                                                                                                                         
---------- --------- ----------                                                                                                                                                                         
        10 CLERK           1300                                                                                                                                                                         
        10 MANAGER         2450                                                                                                                                                                         
        10 PRESIDENT       5000                                                                                                                                                                         
        20 ANALYST         6000                                                                                                                                                                         
        20 CLERK           1900                                                                                                                                                                         
        20 MANAGER         2975                                                                                                                                                                         
        30 CLERK            950                                                                                                                                                                         
        30 MANAGER         2850                                                                                                                                                                         
        30 SALESMAN        5600

sql> –求平均工资大于2000的部门
sql> select deptno,avg(sal)
2 from emp
3 group by deptno
4 having avg(sal) > 2000;

DEPTNO   AVG(SAL)                                                                                                                                                                                   
---------- ----------                                                                                                                                                                                   
        20       2175                                                                                                                                                                                   
        10 2916.66667

sql> –where和having最大的区别:where后面不能使用组函数

sql> –查询10号部门的平均工资
sql> select deptno,avg(sal)
2 from emp
3 group by deptno
4 having deptno=10;

DEPTNO   AVG(SAL)                                                                                                                                                                                   
---------- ----------                                                                                                                                                                                   
        10 2916.66667

猜你在找的Oracle相关文章