微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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                                                                                                                                                                                   

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐