SQL24题解:获取所有非manager员工薪水情况,给出dept_no、emp_no以及salary
获取所有非manager员工当前的薪水情况
http://www.nowcoder.com/questionTerminal/8fe212a6c71b42de9c15c56ce354bebe
题目思路:
1、生成manager员工集合(作为过滤条件)
SELECT dm.emp_no FROM dept_emp de INNER JOIN dept_manager dm ON de.emp_no = dm.emp_no;
2、结合要展示的内容,选择性联结dept_emp,salaries表
SELECT de.dept_no,de.emp_no,s.salary FROM dept_emp de INNER JOIN salaries s ON de.emp_no = s.emp_no;
3、在2的基础上,以步骤1作为过滤条件,形成最终代码。
SELECT de.dept_no,de.emp_no,s.salary FROM dept_emp de INNER JOIN salaries s ON de.emp_no = s.emp_no WHERE de.emp_no NOT IN (SELECT dm.emp_no FROM dept_emp de INNER JOIN dept_manager dm ON de.emp_no = dm.emp_no);