提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、题目
有一个员工表employees简况如下:
有一个,部门员工关系表dept_emp简况如下:
有一个部门经理表dept_manager简况如下:
有一个薪水表salaries简况如下:
获取所有非manager员工薪水情况,给出dept_no、emp_no以及salary,以上例子输出:
二、解题步骤
1.FROM 子查询
SELECT t1.dept_no,t1.emp_no,t2.salary
FROM
(SELECT de.emp_no,de.dept_no
FROM dept_emp de
WHERE de.emp_no not in
(
SELECT emp_no
FROM dept_manager
)
) as t1
JOIN salaries t2
ON t1.emp_no=t2.emp_no;
2.LEFT JOIN
SELECT t1.dept_no,t1.emp_no,s.salary
#FROM employees e,dept_emp de,dept_manager dm,salaries s
FROM
(
SELECT de.dept_no,de.emp_no
FROM dept_emp de LEFT JOIN dept_manager dm
ON de.emp_no=dm.emp_no
WHERE dm.emp_no is null
) as t1
JOIN salaries s ON t1.emp_no = s.emp_no
JOIN employees e on t1.emp_no = e.emp_no;