题解 | #获取员工其当前的薪水比其manager当前薪水还高的相关信息#
获取员工其当前的薪水比其manager当前薪水还高的相关信息
http://www.nowcoder.com/practice/f858d74a030e48da8e0f69e21be63bef
select emp_sal.emp_no, manager_no, emp_sal.salary as emp_salary, mag_sal.salary as manager_salary from (select dept_emp.emp_no, dept_emp.dept_no,salaries.salary from dept_emp join salaries on dept_emp.emp_no = salaries.emp_no where dept_emp.emp_no not in(select emp_no from dept_manager))emp_sal join (select dept_manager.emp_no as manager_no , dept_manager.dept_no,salaries.salary from dept_manager join salaries on dept_manager.emp_no = salaries.emp_no)mag_sal on emp_sal.dept_no = mag_sal.dept_no where emp_sal.salary > mag_sal.salary 首先连接员工表dept_emp和薪水表 salary,得到非manager的员工的薪水表emp_sal,连接条件是emp_no相等 同理连接经理表dept_manager和薪水表salary,得到manager的薪水表mag_sal,连接条件是emp_no相等 最后连接上面的emp_sal和mag_sal,连接条件是dep_no相等,然后用where条件筛选出非manager员工的薪水〉manager的薪水。
