列出薪金高于公司平均薪金所有员工,所在部门,上级领导,公司的工资等级
如题:列出薪金高于公司平均薪金所有员工,所在部门,上级领导,公司的工资等级
表:emp,dept, salgrade
第一步:求出公司平均薪金
select avg(sal) from emp
第二步:求薪金高于公司平均薪金的所有员工
select * from emp where sal > (select avg(sal) from emp);
第三步:求员工所在部门,上级领导
select e1.empno, e1.ename, d.dname
from emp e1, emp e2, dept d
where e1.mgr = e2.empno
and e1.deptno = d.deptno;
第四步:求员工工资等级
select e.empno, e.ename, sg.grade
from emp e, salgrade sg
where e.sal between sg.losal and sg.hisal
第五步:综合上述各步,得到最终SQL
select e1.empno, e1.ename, d.dname, e1.sal, sg.grade
from emp e1, emp e2, dept d, salgrade sg
where e1.sal > (select avg(sal) from emp)
and e1.mgr = e2.empno
and e1.deptno = d.deptno
and e1.sal between losal and hisal;
还没有评论,来说两句吧...