题目描述
有一个员工表,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 方面的文章,如果感兴趣的话可以点个关注不迷路哦~。
本文介绍了一道SQL练习题,旨在通过左联结和右联结查询员工表中的姓名及部门编号信息,涵盖所有已分配部门及未分配部门的员工。

997

被折叠的 条评论
为什么被折叠?



