1.menampilkan last_name,salari maximum salary dan selisih maximum dengan salary setiap pegawainya
select last_name, "gajimaks", salary, ("gajitertinggi" - salary) selisih from employees e join
(select department_id, max(salary) "gajimaks" from employees
where department_id = 20 group by department_id)ab
on e.department_id = ab.department_id where e.department_id =20;
2.Gunakan inline view untuk menampilkan 2 nama department yang paling banyak memiliki pegawai serta jumlah pegawainya
select * from (select department_name,count(employee_id) jumlah from employees e
join departments d on d.department_id=e.department_id
group by department_name order by 2 desc )c where rownum<=2;
3.select e.last_name,e.department_id,e.salary,to_char(d.rata,'999999.99')as rata_rata
from employees e,(select department_id,avg(salary)rata
from employees
group by department_id)d
where e.department_id=d.department_id
and e. salary>rata;
4.select * from (select last_name,salary,(commission_pct*12)as total_bonus
from employees
order by total_bonus)where rownum<=5;
5.select e.last_name,e.salary,e.department_id,d.max_sal
from employees e,(select department_id,max(salary)max_sal from employees
group by department_id)d
where e.department_id=d.department_id
and e.salary<d.max_sal;
Comments
Post a Comment