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