题解 | #查找所有员工的last_name和first_name以及对应的dept_name#
查找所有员工的last_name和first_name以及对应的dept_name
http://www.nowcoder.com/practice/5a7975fabe1146329cee4f670c27ad55
查找所有员工的last_name和first_name以及对应的dept_name:
select employees.last_name, employees.first_name, departments.dept_name from employees
先连接dept_emp表,连接的基础为:
employees.emp_no = dept_emp.emp_no
因为包括暂时没有分配部门的员工,所以选择left join
再连接departments表,连接的基础为:
on departments.dept_no = dept_emp.dept_no
因为包括暂时没有分配部门的员工,还是选择left join
最终:select employees.last_name, employees.first_name, departments.dept_name from employees
left join dept_emp
on employees.emp_no = dept_emp.emp_no
left join departments
on departments.dept_no = dept_emp.dept_no
至于为什么不线连接departments表而要先连接dept_emp表,是因为employees无法直接与departments建立连接