关于sql 语句求平均值和总和

已知有两张表

部门表department:部门编号 dept_id 、部门名称 dept_name

员工表employee:员工编号 emp_id、员工姓名 emp_name、 部门编号 dept_id 、工资emp_wage

1)求各部门的平均工资

select d.dept_name ,round(avg(nvl(e.emp_wage,0)),2) sal from employee e left join department d on e.dept_id=d.dept_id group by d.dept_name;

2)求各部门的总工资

select d.dept_name ,sum(nvl(e.emp_wage,0)) sal from employee e left join department d on e.dept_id=d.dept_id group by d.dept_name;

3)求工资大于5000的员工所属的部门名称、员工id和员工工资

select d.dept_name,e.emp_id,e.emp_wage from department d ,employee e where e.emp_wage>5000 and d.dept_id = e.dept_id;

涉及函数解释:


sum为求平均值函数,将要求总和值的列sum(列名) 

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

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

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

    原文作者:SQL
    原文地址: https://blog.csdn.net/u012402177/article/details/51281682
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞