题目描述

获取所有员工当前的(dept_manager.to_date='9999-01-01')manager,如果员工是manager的话不显示(也就是如果当前的manager是自己的话结果不显示)。输出结果第一列给出当前员工的emp_no,第二列给出其manager对应的emp_no。

用到dept_emp表和dept_manager表,两个表以dept_no为公共字段

dept_emp表
dept_manager表

方法

select de.emp_no,dm.emp_no as manager_no from dept_manager as dm inner join dept_emp as de on dm.dept_no = de.dept_no where dm.to_date = '9999-01-01' and de.to_date = '9999-01-01' and de.emp_no <> dm.emp_no

1、inner join连接两个表,公共字段是dept_no

2、where子句给定3个限制条件,两个“当前”的限制条件,让to_date = '9999-01-01',关键在于第3个限制条件,de.emp_no <> dm.emp_no,这样才能符合题目要求:manager是自己的话结果不显示

3、同样地,这个题也可以用where连接

select de.emp_no,dm.emp_no as manager_no from dept_manager as dm,dept_emp as de where dm.dept_no = de.dept_noand dm.to_date = '9999-01-01' and de.to_date = '9999-01-01' and de.emp_no <> dm.emp_no


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

更多相关文章

  1. 一道简单的数组遍历题,加上四个条件后感觉无从下手
  2. Pandas小册子:根据条件创建新的列
  3. 内卷?猝死?企业如何利用数据分析提升人效比,让员工远离“996”?
  4. LeetCode数据库篇|181超过经理收入的员工
  5. 如何使用带有“IF”条件的按钮改变DIV的背景颜色
  6. 基于html属性为gulp构建过程添加条件
  7. 在单个测试中断言多个条件,还是分成多个测试? [重复]
  8. 单个mysql查询,用于选择25个记录(9 + 16),使用union all并基于2个不
  9. php mysql有条件地将行插入到不同的表中

随机推荐

  1. Android缓存理解
  2. Android(安卓)frameworks中Bn*和Bp*的区
  3. Android系统启动流程 -- android
  4. Android笔记-2
  5. 配置并使用Android支持的库
  6. Android(安卓)向系统发送一条短信
  7. 理解 Android 消息机制
  8. Android 修改横屏角度为顺时针270度
  9. 【Android】注解框架(三)-- 编译时注解,手写
  10. Android分享文稿 ( by quqi99 )