您当前的位置: 首页 >  sql

Dream丶Killer

暂无认证

  • 0浏览

    0关注

    188博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

(中等)SQL练习19:查找所有员工的last_name和first_name以及对应的dept_name

Dream丶Killer 发布时间:2021-02-01 21:15:09 ,浏览量:0

SQL练习19:查找所有员工的last_name和first_name以及对应的dept_name
      • 题目描述
      • 考察知识点
      • 解题思路

题目描述

有一个员工表 employees 简况如下: 在这里插入图片描述 有一个部门表 departments 表简况如下: 在这里插入图片描述 有一个,部门员工关系表 dept_emp 简况如下: 在这里插入图片描述 请你查找所有员工的 last_namefirst_name 以及对应的 dept_name,也包括暂时没有分配部门的员工,以上例子输出如下: 在这里插入图片描述

考察知识点

左外联结,右外联结 的使用。

解题思路

1️⃣ 本题的关键在于暂时没有分配部门的员工,可以通过左外连接来保留这部分员工的信息。

SELECT last_name, first_name, dept_name
FROM employees AS e LEFT JOIN dept_emp AS de 
ON e.emp_no = de.emp_no
LEFT JOIN departments AS dp 
ON de.dept_no = dp.dept_no

2️⃣ 通过右外连接来保留这部分员工的信息

SELECT last_name, first_name, dept_name
FROM departments AS dp RIGHT JOIN (dept_emp AS de RIGHT JOIN employees AS e 
                                ON e.emp_no = de.emp_no)
ON de.dept_no = dp.dept_no

题目来源:牛客网-SQL数据库实战题

✅ 每日打卡,❤ 点个赞再走吧!!!❤ 在这里插入图片描述 后续会继续分享 Mysql 方面的文章,如果感兴趣的话可以点个关注不迷路哦~。

关注
打赏
1655344294
查看更多评论
立即登录/注册

微信扫码登录

0.0369s