矫健的铁锤在打卡 level
获赞
0
粉丝
0
关注
0
看过 TA
0
燕山大学
2025
产品经理
IP属地:河北
暂未填写个人简介
私信
关注
原本的思路如下:#1、获取每个员工的薪水#2、获取每个部门经理的薪水#3、比较大小select a.emp_no,b.manager_no,a.emp_salary,b.manager_salaryfrom(select s.emp_no,salary emp_salary,dept_nofrom salaries s inner join dept_emp de on s.emp_no=de.emp_nowhere s.emp_no not in(    select emp_no from dept_manager) )ainner join  (select s.emp_no manager_no,salary manager_salary,dept_nofrom salaries s inner join dept_emp de on s.emp_no=de.emp_nowhere s.emp_no in(    select emp_no from dept_manager) )bon a.dept_no=b.dept_nowhere a.emp_salary>b.manager_salary看了大佬的思路后发现自己想复杂了,不需要一定得把员工和经理区分清楚将第一个第二个表分别和第三个表相连,就得到了员工和经理的薪水情况,这时候直接判断员工的薪水是否大于经理即可,因为员工表中虽然有经理的信息,但是经过比较大小后其相等的关系可以被直接筛选掉,同样能得到符合要求的结果,简易的思路如下:  select a.emp_no,       b.emp_no manager_no,       c.salary emp_salary,       d.salary manager_salary  from dept_emp a inner join       dept_manager b on a.dept_no = b.dept_no inner join        salaries c on a.emp_no = c.emp_no inner join        salaries d on b.emp_no = d.emp_no where c.salary > d.salary
0 点赞 评论 收藏
转发
牛客网
牛客企业服务