SQL213
查找所有员工的last_name和first_name以及对应的dept_name
https://www.nowcoder.com/practice/5a7975fabe1146329cee4f670c27ad55
select last_name, first_name, a.dept_name from employees e left join (select dt.dept_no, dt.dept_name, de.emp_no from departments dt join dept_emp de on dt.dept_no=de.dept_no) a on e.emp_no=a.emp_no
查询结果:员工的姓和名以及其对应的部门名称
查询来源:employees,departments,dept_emp
查询要求:查询结果需要包括暂时没有部门的员工信息
解题思路:由于员工的姓和名以及其对应的部门编号数据需要通过employees,dept_emp两个表进行连接,部门编号对应的部门名称又需要departments,dept_emp两个表进行连接,所以总共需要连接三个表就可以得到员工姓名及其对应的部门名称。这里我选择使用子查询先将departments,dept_emp两个表进行连接,得到每个部门编号对应的部门名称以及已经分配了部门的员工编号的新表,命名为a表,然后将a表与employees表进行左连接,得到所有员工的信息与对应的部门名称,没有分配部门的员工在部门那一列的值为null