SQL12 获取每个部门中当前员工薪水最高的相关信息

        题目:获取每个部门中当前员工薪水最高的相关信息 

         注意了,这道题目,分组函数只能查出来:每个部门的最高薪水,group by  dept_no ,根据部门分组,绝对不能group by dept_no,emp_no,不能根据(部门、员工编号)联合分组:

(select e1.dept_no, max(s1.salary) as salary from dept_emp e1 joinsalaries s1one1.emp_no = s1.emp_no group by e1.dept_no ) s2  
方法一: 三张表联查

select e.dept_no , e.emp_no , s.salary as maxSalary
from dept_emp e joinsalaries s 
one.emp_no = s.emp_no   join (select e1.dept_no, max(s1.salary) as salary from dept_emp e1 joinsalaries s1one1.emp_no = s1.emp_no group by e1.dept_no ) s2  #这是s2表ons2.dept_no = e.dept_no  and s2.salary = s.salary 
where e.to_date='9999-01-01' and s.to_date='9999-01-01'
order by e.dept_no;

优化:通过使用 WITH 语句创建了一个名为 max_salaries 的临时表,这样可以更清晰地理解查询的逻辑。

WITH max_salaries AS (SELECT e1.dept_no, MAX(s1.salary) AS max_salaryFROM salaries s1INNER JOIN dept_emp e1 ON e1.emp_no = s1.emp_noGROUP BY e1.dept_no
)
SELECT e.dept_no,e.emp_no,s.salary AS max_salary
FROM dept_emp e 
JOINsalaries s ON e.emp_no = s.emp_no
JOINmax_salaries ms ON e.dept_no = ms.dept_no AND s.salary = ms.max_salary
ORDER BY e.dept_no;
方法二:居然还能这样玩!!!   in 的用法可以使用元组形式
select d.dept_no,d.emp_no,s.salary
from dept_emp as d
join salaries as s
on d.emp_no = s.emp_no
where (d.dept_no,salary) in (# in 的用法可以使用元组形式 :找出部门和对应的最高工资   
select d.dept_no,max(s.salary) salaryfrom dept_emp as djoin salaries as son d.emp_no = s.emp_nogroup by d.dept_no
)order by d.dept_no


        在 MySQL 中,子查询中使用 IN 操作符时,需要确保子查询返回的结果列数与外部查询中的比较列数相匹配。在这个查询中,子查询返回三列 (dept_no, max_salary, from_date),而外部查询试图将其与两列 (dept_no, salary) 进行比较,这导致了错误:

    为了解决这个问题,可以将子查询的结果限制为两列,即 (dept_no, max_salary),并且在外部查询中使用这两列进行比较。以下是修改后的查询:

        这样就能够正确地比较子查询和外部查询的列数,并得到想要的结果。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/819001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习一门语言的方法和套路(B站转述)

视频链接 up虽然长相英(ping)俊(ping),但是讲的干活,没恰饭。 学习流程: 1.快速阅读,掌握概况 2.深入细节内容 例如:java (JDBC)、html 、netty 不管三七二十一,先了解套路,再深入研究。 高…

2024软考中项考哪个版本?应该该如何备考?

2024年1月,备受瞩目的软考中级系统集成项目管理工程师官方教程终于迎来了久违的大改版。为确保广大考生能够有充足的准备时间,软考中项的考试时间被顺延至同年11月,届时,这也将成为软考中项首次依据第3版考纲进行的考试。 新教材核…

非线性特征曲线线性化插补器(CODESYS 完整ST代码)

1、如何利用博途PLC和信捷PLC实现非线性特征曲线的线性化可以参考下面文章链接: 非线性特征曲线线性化(插补功能块SCL源代码+C代码)_scl直线插补程序-CSDN博客文章浏览阅读382次。信捷PLC压力闭环控制应用(C语言完整PD、PID源代码)_RXXW_Dor的博客-CSDN博客闭环控制的系列文章…

【Canvas与艺术】绘制磨砂黄铜材质Premium Quality徽章

【关键点】 渐变色的使用、斜纹的实现、底图的寻觅 【成果图】 ​​​​​​​ 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><tit…

计算机网络:数据链路层 - CSMA/CA协议

计算机网络&#xff1a;数据链路层 - CSMA/CA协议 CSMA/CA概述帧间间隔工作原理退避算法虚拟载波监听 CSMA/CA概述 讲解CSMA/CA之前&#xff0c;我们回顾一下CSMA/CD的三个特性&#xff1a; 多址接入MA&#xff1a;多个主机连接在一条总线上&#xff0c;竞争使用总线 载波监听…

腾讯云轻量应用服务器端口开启教程

腾讯云轻量应用服务器端口怎么打开&#xff1f;在轻量应用服务器控制台的防火墙中开启端口&#xff0c;本文腾讯云百科txybk.com以80端口为例&#xff0c;来详细说下轻量应用服务器端口打开教程&#xff0c;另外可以在腾讯云百科 txy.wiki 查看当前轻量服务器最新的优惠券和配置…

大隐市苏州

大隐隐于市的典型&#xff1a;苏州。 中国四大园林&#xff0c;二个在苏州&#xff0c;实际上看多逛多了苏州园林&#xff0c;其它地方的园林真的就是太不精致了~~~~ 哈哈&#xff0c;莫打莫打。 将山水装入庭院&#xff0c;情怀显露山水间。 看似宅男一个&#xff0c;实则依旧…

康耐视visionpro-CoglntersectLineLineTool操作说明工具详细说明

◆CogIntersectLineLineTool功能说明&#xff1a; 创建两条线的交点 备注&#xff1a;在“Geometry-Intersection”选项中的所有工具都是创建两个图形的交点工具&#xff0c;其中包括圆与圆的交点、线与圆的交点、线与线的交点、线与圆的交点等&#xff0c;工具使用的方法相似。…

视频国标学习

总体介绍 GB/T28181协议&#xff0c;全名叫《安全防范视频监控联网系统信息传输、交换、控制技术要求》&#xff0c;是由中国国家标准委员会发布的一种国家级的标准。它主要对视频监控系统的各个方面做了明确的规定&#xff0c;使得不同厂商生产的视频监控设备能够相互连通&am…

一种基于OpenCV的图片倾斜矫正方法

需求描述&#xff1a; 对倾斜的图片进行矫正&#xff0c;返回倾斜角度和矫正后的图片。 解决方法&#xff1a; 1、各种角度点被投影到一个累加器阵列中&#xff0c;其中倾斜角度可以定义为在最大化对齐的搜索间隔内的投影角度。 2、以不同的角度旋转图像&#xff0c;并为每…

参会记录|全国多媒体取证暨第三届多媒体智能安全学术研讨会(MAS‘2024)

前言&#xff1a;2024年4月13日上午&#xff0c;我与实验室的诸位伙伴共聚江西南昌的玉泉岛大酒店&#xff0c;参加了为期一天半的全国多媒体取证暨第三届多媒体智能安全学术研讨会&#xff08;MAS’2024&#xff09;。本届学术研讨会由江西省计算机学会、江西省数字经济学会主…

PHP:IntelliJ IDEA 配置 PHP 开发环境及导入PHP项目

在创建PHP项目之前我们需要安装PHP插件&#xff0c;安装步骤如下&#xff1a;Windows&#xff1a;IntelliJ IDEA Ultimate 安装 PHP 插件-CSDN博客 1、导入已有PHP项目&#xff0c;导入之后选择&#xff0c;File > Setting 选择对应 CLL Interpreter&#xff0c;如果没有操…

GitHub登录收不到邮箱验证码

由于长时间没有登录GitHub&#xff0c;浏览器可能清除了相应的cookie信息&#xff0c;所以需要对应绑定邮箱进行验证&#xff0c;但因为邮箱长时间没有收到验证码&#xff0c;所以给到以下一种可能解决的方法&#xff1a; 需要输入验证码进行验证 我们可以打开QQ邮箱&#xff0…

java的深入探究JVM之类加载与双亲委派机制

前言 前面学习了虚拟机的内存结构、对象的分配和创建&#xff0c;但对象所对应的类是怎么加载到虚拟机中来的呢&#xff1f;加载过程中需要做些什么&#xff1f;什么是双亲委派机制以及为什么要打破双亲委派机制&#xff1f; 类的生命周期 类的生命周期包含了如上的7个阶段&a…

光场相机建模与畸变校正改进方法

摘要&#xff1a;光场相机作为一种新型的成像系统&#xff0c;可以直接从一次曝光的图像中得到三维信息。为了能够更充分有效地利用光场数据包含的角度和位置信息&#xff0c;完成更加精准的场景深度计算&#xff0c;从而提升光场相机的三维重建的精度&#xff0c;需要实现精确…

比特币突然暴跌

作者&#xff1a;秦晋 周末愉快。 今天给大家分享两则比特币新闻&#xff0c;也是两个数据。一则是因为中东地缘政治升温&#xff0c;传统资本市场的风险情绪蔓延至加密市场&#xff0c;引发加密市场暴跌。比特币跌至66000美元下方。杠杆清算金额高达8.5亿美元。 二则是&#x…

Spring(24) Json序列化的三种方式(Jackson、FastJSON、Gson)史上最全!

目录 一、Jackson 方案&#xff08;SpringBoot默认支持&#xff09;1.1 Jackson 库的特点1.2 Jackson 的核心模块1.3 Maven依赖1.4 代码示例1.5 LocalDateTime 格式化1.6 统一配置1.7 常用注解1.8 自定义序列化和反序列化1.9 Jackson 工具类 二、FastJSON 方案2.1 FastJSON 的特…

Redis消息队列-基于PubSub的消息队列

7.3 Redis消息队列-基于PubSub的消息队列 PubSub&#xff08;发布订阅&#xff09;是Redis2.0版本引入的消息传递模型。顾名思义&#xff0c;消费者可以订阅一个或多个channel&#xff0c;生产者向对应channel发送消息后&#xff0c;所有订阅者都能收到相关消息。 SUBSCRIBE …

【练习】二分查找

1、704 &#xff08;1&#xff09;题目描述 &#xff08;2&#xff09;代码实现 package com.hh.practice.leetcode.array.demo_02;public class BinarySearch_704 {public int search(int[] nums, int target) {int i 0,j nums.length -1;while (i < j){int mid (ij) &…

【QT+QGIS跨平台编译】181:【QGIS+Qt跨平台编译】—【错误处理:找不到_DEBUGA】

点击查看专栏目录 文章目录 一、找不到_DEBUGA二、原因分析三、错误处理 一、找不到_DEBUGA 报错信息&#xff1a; 二、原因分析 采用了非UNICODE&#xff1a; DEFINES - UNICODE没法识别 _DEBUGA 但可以识别 _DEBUG 三、错误处理 修改 _DEBUGA 为 _DEBUG