题目:获取员工其当前的薪水比其manager当前薪水还高的相关信息,

第一列给出员工的emp_no,

第二列给出其manager的manager_no,

第三列给出该员工当前的薪水emp_salary,

第四列给该员工对应的manager当前的薪水manager_salary

问题拆解:

1.先把员工表和薪资表链接重命名a1

2.再把经理表和薪资表链接重命名a2

3.把表a1和表a2链接,条件筛选a1的员工编号不等于a2的员工编号(目的是排除员工信息和领导信息一致的情况,因为题目要求的是每个员工的领导是谁)和员工的工资大于领导的工资即可。

用的是最普通最笨的思维和方法得到的答案..大神轻喷

select a1.emp_no, a2.emp_no manager_no, a1.salary emp_salary, a2.salary manager_salary from 
(select de.emp_no, de.dept_no, s1.salary from 
dept_emp de
join
salaries s1
ON
de.emp_no=s1.emp_no) a1
join
(select dm.emp_no, dm.dept_no, s2.salary from 
dept_manager dm
JOIN
salaries s2
ON
dm.emp_no=s2.emp_no) a2
on 
a1.dept_no=a2.dept_no
where a1.emp_no<>a2.emp_no and a1.salary>a2.salary