题目描述
有一个员工表,employees
简况如下:
有一个部门表,dept_emp
简况如下:
请你查找所有已经分配部门的员工的 last_name
和 first_name
以及 dept_no
,也包括暂时没有分配具体部门的员工,以上例子如下:
考察知识点
左联结,右联结。
解题思路
1️⃣ 根据题目的要求查询的结果集中要包含所有员工的信息,那么再将表进行连接时就需要注意主从表的选择,应将 employees
作为主表,即保留 employees
表中的全部数据,即便在从表中没有对应的数据。下面是左联结的解法。
SELECT last_name, first_name, dept_no
FROM employees AS e LEFT JOIN dept_emp AS d
ON e.emp_no = d.emp_no
2️⃣ 右联结
SELECT last_name, first_name, dept_no
FROM employees AS e LEFT JOIN dept_emp AS d
ON e.emp_no = d.emp_no
题目来源:牛客网-SQL数据库实战题
✅ 每日打卡,❤ 点个赞再走吧!!!❤
后续会继续分享 Mysql 方面的文章,如果感兴趣的话可以点个关注不迷路哦~。