题目有三个表:
- 【部门的信息】
departments
: dept_no, dept_name - 【部门员工所属】
dept_emp
: emp_no, dept_no,... - 【员工的信息】
employees
: emp_no, first_name, last_name,...
题目要求:
思路:
- 列出
employees
表里所有员工last_name, first_name, - 根据
employees
中emp_no对应dept_emp
中的dept_no,没有分配的员工找不到对应-->采用LEFT JOIN
- 再根据dept_no对应
departments
表中的dept_name,没有分配的员工找不到对应-->采用LEFT JOIN
SELECT last_name, first_name, dept_name FROM employees AS e LEFT JOIN (SELECT emp_no, dept_name FROM dept_emp AS de LEFT JOIN departments AS d ON de.dept_no = d.dept_no)k ON e.emp_no = k.emp_no;