获取所有部门中员工薪水最高的相关信息
获取所有部门中员工薪水最高的相关信息
- 题目
- 题目分析
- 错误答案____max 函数 和select
- listagg 函数的其他用法之后再补充
- 题目补充
题目
有一个员工表dept_emp简况如下:
有一个薪水表salaries简况如下:
获取所有部门中员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary,按照部门编号升序排列,以上例子输出如下:
题目分析
- 题目要点:薪水最高(max),升序排列(order by asc)
- 结果需要三条信息,在两个表中——join 关键字
- dept_no在dept_emp表,salary在salaries表中,使用emp_no连接(on)
错误答案____max 函数 和select
select d.dept_no,d.emp_no,max(s.salary)
from dept_emp as d
left join salaries as s
on d.emp_no = s.emp_no
group by dept_no
order by dept_no;
这里3和4号员工是一个部门,但是select 和max 一起用就把 4的工资给了3
这里涉及问题:group by 某字段后,其他字段如何处理
- 对数值可以使用函数:sum、max、min,但是不能保证是同一列的信息,select函数默认取第一行,而max 函数会把最大值拼在第一行
- 对字符串可以使用 listagg函数
listagg 函数的其他用法之后再补充
#将部门合并,展示部门员工编号
select d.dept_no,listagg(d.emp_no)
from dept_emp
group by dept_no;
#这个没有测试
题目补充
如果存在多个最大值,其他的值怎么取到
使用多个select 语句,创建多个过程表
#可能存在多个最大值,会舍弃其他的
SELECT currentsalary.dept_no, currentsalary.emp_no, currentsalary.salary AS salary
FROM
#创建maxsalary表用于存放当前每个部门薪水的最大值
(SELECT d.dept_no, MAX(s.salary) AS salary
FROM salaries AS s INNER JOIN dept_emp As d
ON d.emp_no = s.emp_no
WHERE d.to_date = '9999-01-01' AND s.to_date = '9999-01-01'
GROUP BY d.dept_no) AS maxsalary,
#创建currentsalary表用于存放当前每个部门所有员工的编号和薪水
(SELECT d.dept_no, s.emp_no, s.salary
FROM salaries AS s INNER JOIN dept_emp As d
ON d.emp_no = s.emp_no
WHERE d.to_date = '9999-01-01' AND s.to_date = '9999-01-01'
) AS currentsalary
#限定条件为两表的dept_no和salary均相等
WHERE currentsalary.dept_no = maxsalary.dept_no
AND currentsalary.salary = maxsalary.salary
#最后以currentsalary.dept_no排序输出符合要求的记录表
ORDER BY currentsalary.dept_no
获取所有部门中员工薪水最高的相关信息相关推荐
- [SQL实战]之获取所有部门中当前员工薪水最高的相关信息
题目描述 获取所有部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary CREATE TABLE dept_emp ( emp_no int(11) NOT N ...
- 牛客 SQL:获取每个部门中当前员工薪水最高的相关信息
题目:获取每个部门中当前员工薪水最高的相关信息 代码: SELECT de.dept_no, de.emp_no, sa.salary FROM dept_emp AS de INNER JOIN s ...
- mysql查询每个部门工资最高的员工信息_获取每个部门中当前员工薪水最高的相关信息...
79 目前的一些"正确答案"其实不对,因为emp_no是随机返回的,而不是与最大工资相对应的那个 [知识点] 使用group by子句时,select子句中只能有聚合键.聚合函数. ...
- [爬虫实战]利用python快速爬取NCBI中参考基因组assembly的相关信息
1.问题导向 最近在做某个课题的时候,按老师的要求需要从NCBI中批量下载不同物种的参考基因组,同时收集相应参考基因组的一些组装信息,基因组非常多,导致工作量巨大,一个一个手动收集的话,既费时又费力, ...
- 爬取QQ音乐中一首歌的相关信息及评论(破解反爬虫、多协程队列爬虫)
刚写完这个实验作业,顺便来记录一下一些易错的地方: 目录 一.页面预览 二.其他信息 三.一些小细节 四.源码 项目框图: 一.页面预览 先从歌手页爬取到这首歌的相关信息,包括它歌曲.专辑的url.这 ...
- 如何获取搜索引擎的来源,以及搜索引擎的相关信息
本文来源于:http://www.java3z.com/cwbwebhome/article/article5/51093.html 在做商务E流量分析的时候,需要实现一个功能:如果访客是通过搜索引擎 ...
- 10-245 A4-6查找订单表中特定顾客编号的相关信息
分数 20 全屏浏览题目 切换布局 作者 柯海丰 单位 浙大城市学院 查询订单表(orders)中以字母V打头的顾客编号(CustomerID)产生的订单信息,结果显示为顾客编号(CustomerID ...
- 使用VMware VSphere WebService SDK进行开发 (四)——获取集群(Cluster, ComputeResource)的相关信息
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- Java获取linux服务器cpu、内存、硬盘相关信息
需要用到jcraft依赖,如果依赖失效,请前往官方获取jcraft官网,maven地址https://search.maven.org/artifact/com.jcraft/jsch <dep ...
最新文章
- LINUX防火墙打开与关闭
- 跨链(5)“蚂蚁区块链”之跨链数据连接服务
- 《研磨设计模式》chap9 原型模式Prototype
- linux 命令后面的参数小叙
- oracle查看序列数据语法,oracle查询各种数据字典的语法
- python和gui结合实例_Python GUI —— 简单例子+讲解
- python编程输入三个数按大小输出_编程:输入3个数,按从小到大的顺序输出
- HDOJ--1106排序
- Canvas坐标轴中的Y轴距离是X轴的两倍
- 《Python密码学编程》——2.6 本书的文本换行
- 第一次参加公司研发部门高级别会议之感
- linux 磁盘配额 期限,linux磁盘配额管理
- Python的seek函数
- 去广告:去除2345好压、Flash插件等的广告
- Mybatis什么时候用resultMap,什么时候用resultType
- VS2008试用版破解方法
- html中radio设置默认值
- 所谓框架到底是什么?
- Zabbix 监控MySQL最大连接数
- 动态图片怎么制作 html,AE教程:怎么制作出GIF动态图
热门文章
- 微信小程序学习用demo:同乐居商城:购物车合算(适用1221)
- Android 开发技巧总结(二)
- Java实现两个日期相减获得相差的小时数
- 浅谈SEO学习方法和心态
- 有锁机保基带升级完美越狱工具Sn0wbreeze使用教程
- TI AWR1843毫米波雷达采集三维点云数据(ROS)
- android通过代码设置铃声_有打扰 漏消息?那是Android手机通知设置没弄好!
- RK3566,ES7202声卡驱动添加
- Revit插件推荐[二]
- 二级vb笔试题库__全国计算机等级考试,XYZ计算机等级考试题库系统(二级VB)