1. 程式人生 > >關於sql 語句求平均值和總和

關於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(列名,保留小數位數)