牛客网SQL-第4题-请你查找所有已经分配部门的员工的last_name和first_name以及dept_no,未分配的部门的员工不显示
Posted 小白蛇D&A
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客网SQL-第4题-请你查找所有已经分配部门的员工的last_name和first_name以及dept_no,未分配的部门的员工不显示相关的知识,希望对你有一定的参考价值。
请你查找所有已经分配部门的员工的last_name和first_name以及dept_no,未分配的部门的员工不显示
我这是第4题, 跳过哦第3题, 但是我刷牛客的SQL是按照的简易程度顺序的, 并不是按照题目顺序, 所以, 想要第3题的话, 那就等一段时间哦
employees简况如下:
dept_emp简况如下:
得到正确结果如下图:
我解题源码:
SELECT e.last_name,e.first_name,d.dept_no
FROM employees AS e
INNER JOIN dept_emp AS d
ON e.emp_no = d.emp_no;
题目解析:
我用的是内连接:INNER JOIN
其实这个题是可以用左连接,右连接和笛卡尔积(交叉连接)都可以
交叉连接:
select e.last_name, e.first_name,d.dept_no
from dept_emp d,employees e
where e.emp_no=d.emp_no;
左连接:
SELECT e.last_name, e.first_name, d.dept_no
FROM dept_emp d
LEFT JOIN employees e
ON d.emp_no = e.emp_no;
右连接与左连接差不多, 我个人用的是内连接, 其他解题源码是在网上找的, 有过验证, 是可以的
这题的考点就是在连接问题, 所以只要理解好问题, 所有就很好解决
以上是关于牛客网SQL-第4题-请你查找所有已经分配部门的员工的last_name和first_name以及dept_no,未分配的部门的员工不显示的主要内容,如果未能解决你的问题,请参考以下文章
牛客网SQL-第九题-获取所有非manager的员工emp_no
牛客网SQL-第九题-获取所有非manager的员工emp_no
牛客网SQL-第7题-请你查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t
牛客网SQL-第7题-请你查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t