经营
SQL今日一题(4):表连接和爸爸发生了关系
2023-09-22 18:32  浏览:32

这是SQL今日一题的第4篇

题目描述

查找所有已经分配部门的员工的last_name和first_name以及dept_no(请注意输出描述里各个列的前后顺序)

这道题用到employees表和dept_emp表,这两个表以emp_no为公共字段。


思路

要用表连接来做,注意题目描述,是已经分配部门的员工的信息,应使用内连接,如果使用外连接的话,那么就应该以dept_emp为主表去连接employees表。
思路1:where连接
思路2:内连接
思路3:左连接

答案

#where连接
selecte.last_name,e.first_name,d.dept_no
fromdept_empasd,employeesase
wheree.emp_no=d.emp_no

where连接已经说了很多次,注意两个表的公共字段即可。

#内连接
SELECte.last_name,e.first_name,d.dept_no
FROMemployeesASeINNERJOINdept_empASd
ONe.emp_no=d.emp_no

可以用where连接的就可以用inner join内连接,只是将where换成了on

#左连接
selecte.last_name,e.first_name,d.dept_no
fromdept_empasdleftjoinemployeesase
one.emp_no=d.emp_no

左连接需要注意以哪个表为主表去连接,题目是要查找已分配部门的员工,所以要用dept_emp为主表去左连接employees表(employees表中含有未分配部门的员工)。

NO.5 题目描述

查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括暂时没有分配具体部门的员工(请注意输出描述里各个列的前后顺序)

第五题和第四题一起练习,加深对比,第四题是已分配部门的,这一题是所有员工包括未分配部门的,这是区别,思路就是以employess表为主表去左连接。

答案

#左连接
selecte.last_name,e.first_name,d.dept_no
fromemployeesaseleftjoindept_empasd
one.emp_no=d.emp_no


相关阅读:

SQL今日一题(3)

SQL今日一题(2)

SQL每日一题

学习SQL:MySQL必知必会

猜你喜欢:

Excel如何分组排序

数据分析应关注AARRR模型的哪些指标

泰坦尼克号数据分析

深入浅出数据分析


@ 作者:可乐
@ 公众号/知乎专栏/头条/简书:可乐的数据分析之路
@加个人微信:data_cola,备注:进群,拉你入 可乐的数据分析群 和各行各业的小伙伴交流探讨数据分析相关内容

微信公众号
个人微信号


以上就是SQL今日一题(4):表连接和爸爸发生了关系的全部内容了,希望大家喜欢。

发表评论
0评