这是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连接
select s.emp_no,s.salary,s.from_date,s.to_date,m.dept_no
from salaries as s,dept_manager as m
where s.emp_no = m.emp_no
and s.to_date = '9999-01-01' and m.to_date = '9999-01-01'
order by s.emp_no 

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

# 思路2:内连接
select s.emp_no,s.salary,s.from_date,s.to_date,d.dept_no
from salaries as s inner join dept_manager as d
on d.emp_no = s.emp_no 
where  d.to_date = '9999-01-01' and s.to_date = '9999-01-01';

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


©著作权归作者所有:来自51CTO博客作者mb5fe18f5282239的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 好看不火 | 怎么才有数据分析思路?
  2. 对比Excel学习SQL(4):计算字段
  3. 分析的基础:平均和交叉的思路
  4. 最小堆的魅力!思路清晰求解「至少需要多少间会议室」
  5. TwoSum 相关问题思路总结
  6. mysql正则匹配模糊查询某个字段
  7. PHP百钱百鸡问题(三种解题思路及答案)
  8. 探索php+ajax实现带进度条的大数据排队导出思路
  9. 详解PHP论坛实现积分系统的思路代码

随机推荐

  1. 菜鸟初学者学习Android心得
  2. 从零开始--系统深入学习android(理论-开发
  3. Android[中级教程] 深入剖析Android消息
  4. 基于安卓手持设备的手机应用编程——用户
  5. Android之根据经纬度查询位置地址名称
  6. android直接在桌面生成快捷方式
  7. Android在中国广电应用的10大障碍
  8. Android Pay正式启用 支付宝们还好吗
  9. 纯CSS3实现的Android Logo~~源码来鸟~
  10. Android的几种通讯方式