查询每个部门总工资,和每个部门的平均工资的sql语句?

2020-05-21 社会 99阅读

以oracle中默认scott用户下的dept表和emp表为例:

两个表数据分别如下:

dept表:

emp表:

求每个部门总工资sql语句如下:

select b.dname,sum(nvl(a.sal,0)) sal from emp a,dept b where a.deptno(+)=b.deptno group by b.dname;

结果如图:

求每个部门平均工资的sql语句如下:

select b.dname,round(avg(nvl(a.sal,2)),0) sal from emp a,dept b where a.deptno(+)=b.deptno group by b.dname;

结果如图:

部分函数说明:

sum为求和函数,将要求和的列sum(列名)

avg为求平均值函数,将要求平均值的列avg(列名)

nvl为如果未空则置空值为其他数据的函数,nvl(为空的列,将空值置成的其他值)

round为四舍五入函数,round(列名,保留小数位数)

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com