ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 22、列出薪金高于公司平均薪金的所有员工,所在部门,上级领导,雇员的工资等级. ![](https://img.kancloud.cn/80/83/808321bb32f24b0a4924422b3cad18eb_716x139.png) 思路 1.获取所有的员工姓名 部门名称 上级领导 select * from emp e1 left join emp e2 on e1.mgr=e2.empno inner join dept d on e1.deptno=d.deptno 2.在步骤1的基础上添加salgrade的多表查询并消除笛卡尔积显示工资的等级 select * from emp e1 left join emp e2 on e1.mgr=e2.empno inner join dept d on e1.deptno=d.deptno inner join salgrade sg on e1.sal>=sg.losal and e1.sal<=sg.hisal 3.获取公司的平均工资 select avg(sal) from emp 4.在步骤2的基础上获取所有工资高于步骤3的查询结果的所有记录 select e1.ename,ifnull(e2.ename,'没有领导'),d.dname,sg.grade from emp e1 left join emp e2 on e1.mgr=e2.empno inner join dept d on e1.deptno=d.deptno inner join salgrade sg on e1.sal>=sg.losal and e1.sal<=sg.hisal where e1.sal>(select avg(sal) from emp)