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

2024-11-12 07:21:44
推荐回答(4个)
回答1:

以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(列名,保留小数位数)

回答2:

select deptno,sum(sal) 总工资,avg(sal) 平均工资 from emp group by deptno;

回答3:

SELECT 部门,sum() AS 总工资, AVG() AS 平均工资 FROM XXX GROUP BY 部门

回答4:

总工资用sum函数统计,平均工资用avg函数统计