涉及3个表的连接,如果其中两个表的字段完全相同,可使用natural join
select em.last_name, em.first_name, de.dept_name
from employees as em left join (dept_emp natural join departments) as de
on em.emp_no = de.emp_no
使用两次left join
select e.last_name,e.first_name,b.dept_name
from employees as e left join
(select * from departments as d
left join dept_emp as de
on d.dept_no=de.dept_no) as b
on e.emp_no = b.emp_no
使用一次left join
SELECT
employees.last_name,
employees.first_name,
d.dept_name
FROM
employees
LEFT JOIN (
SELECT
departments.dept_name,
dept_emp.emp_no
FROM
departments,
dept_emp
WHERE
departments.dept_no = dept_emp.dept_no
) d ON employees.emp_no = d.emp_no;