查找所有已经分配部门的员工的last_name和first_name以及dept_no,未分配的部门的员工不显示
描述
有一个员工表,employees简况如下:
有一个部门表,dept_emp简况如下:
1.请你查找所有已经分配部门的员工的last_name和first_name以及dept_no,未分配的部门的员工不显示,以上例子如下:
解答:将两个表用emp_no字段建立连接,并用inner join进行判断,只输出有部门的员工信息,需要了解inner join,left join,right join的用法以及区别
select employees.last_name, employees.first_name, dept_emp.dept_no from employees
inner join dept_emp ##inner join(等值连接) 只返回两个表中联结字段相等的行
on dept_emp.emp_no = employees.emp_no
2.查找所有已经分配部门的员工的last_name和first_name以及dept_no,也包括暂时没有分配具体部门的员工(使用左连接)
```sql
select employees.last_name, employees.first_name, dept_emp.dept_no from employees
left join dept_emp
on dept_emp.emp_no = employees.emp_no
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行