求大神,Oracle语句求各个部门的平均薪水和薪水的等级。据说要用到salgrade和emp两张表
select a.deptno, max(b.dname), avg(sal), rank() over(order by a.deptno)
from emp a
left join dept b
on a.deptno = b.deptno
group by a.deptno;
以上。
select a,grade,deptno from (select deptno ,avg(sal) a from emp group by deptno) ,salgrade where a between losal and hisal;
a为平均薪水的别名
虽然不清楚你2个表的结构,大致猜测下,反正八九不离十
select dept,avg_sal,薪水等级
from (select dept,avg(sals) as avg_sal
from emp a
group by dept) t
left join salgrade p on a.avg_sal>=p.薪资下限 and a.avg_sal
select grade,e.deptno,e.avg_sal from salgrade
join (select deptno,avg(sal) avg_sal from emp group by deptno) e
on (e.avg_sal between salgrade.losal and salgrade.hisal)