1.查询每个部门薪资大于平均薪资的员工
SELECT e.ename FROM emp e JOIN (SELECT deptno,AVG(sal) AS avgsal FROM emp GROUP BY deptno) temp ON e.depno=temp.depno WHERE e.sal>temp.avgsal
2.查所员工的年薪资,按年薪资升序排序
SELECT ename ,(sal+IFNULL(comm,0))*12 AS yearsal FROM emp ORDER BY yearsal ASC
3.查询薪资高于平均薪资的所有员工,所在部门,上级领导(自连接),员工薪资等级。
SELECT e.enam,e.depno,b.ename as leadername,s.level
FROM emp e
JOIN dept d ON e.deptno=d.deptno
LEFT JOIN emp b ON e.mgr=b.empno --为显示无上级领导的员工,使用左外连接
JOIN salgrade s ON e.sal BETWEEN s.lowsal AND s.hisal
WHERE e.sal>(SELECT AVG(sal) FROM emp)