關於sql 語句求平均值和總和
阿新 • • 發佈:2019-02-11
已知有兩張表
部門表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)求各部門的總工資
3)求工資大於5000的員工所屬的部門名稱、員工id和員工工資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;
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(列名,保留小數位數)