经营
SQL今日一题(3)阳光姐妹淘 秀智
2023-11-10 18:35  浏览:43

这是SQL今日一题的第3篇文章

题目描述

查找各个部门当前(dept_manager.to_date='9999-01-01')领导当前(salaries.to_date='9999-01-01')薪水详情以及其对应部门编号dept_no

(注:请以salaries表为主表进行查询,输出结果以salaries.emp_no升序排序,并且请注意输出结果,dept_no列是最后一列)

这题用到了和之前employees表不同的salaries表和dept_manager表,这两个表都有emp_no这个字段,可以用来做连接。


思路

考察表连接,因此可以有两种思路
思路1:where连接
思路2:内连接

答案

#思路1:where连接
selects.emp_no,s.salary,s.from_date,s.to_date,m.dept_no
fromsalariesass,dept_managerasm
wheres.emp_no=m.emp_no
ands.to_date='9999-01-01'andm.to_date='9999-01-01'
orderbys.emp_no

where连接两个表,on两边是公共字段,注意这题还有限制条件,即“当前”的意思是to_date = '9999-01-01',以及按emp_no降序排列。

#思路2:内连接
selects.emp_no,s.salary,s.from_date,s.to_date,d.dept_no
fromsalariesassinnerjoindept_managerasd
ond.emp_no=s.emp_no
whered.to_date='9999-01-01'ands.to_date='9999-01-01';

inner join …on 内连接,传递给on的条件与传递给where的相同,SQL中的几种连接的区别如下图所示。


猜你喜欢:

SQL今日一题(2)

SQL每日一题

学习SQL:MySQL必知必会

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

泰坦尼克号数据分析

深入浅出数据分析


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

微信公众号
个人微信号


发表评论
0评