SQL刷题笔记day4补

1题目

我的正确代码

select e.last_name,e.first_name,d.dept_name
from employees e 
left join (select departments.dept_name,dept_emp.emp_no,dept_emp.dept_no
from departments join dept_emp
on departments.dept_no=dept_emp.dept_no) d
on e.emp_no=d.emp_no

复盘:3个表,先要将两个关于部门的表连接起来,利用子查询。是查询所有员工,所以应该是员工表employees左连接部门表。

其他方法代码:同时连接3个表,不用子查询 

select last_name,first_name,dept_name  
from employees as e 
left join  dept_emp as de  on e.emp_no=de.emp_no 
left join departments as d on de.dept_no = d.dept_no

2题目

我的错误代码

select e.emp_no,growth #不知道算每个在职员工的薪资涨幅
from employees e join salaries s
on e.emp_no = s.emp_no 
where to_date='9999-01-01'

大佬代码:

select a.emp_no, (b.salary - c.salary) as growth
from employees as ainner join salaries as b #b表示最新的,在职的,员工表 
on a.emp_no = b.emp_no and b.to_date = '9999-01-01'inner join salaries as c #c表示入职时的薪资
on a.emp_no = c.emp_no and a.hire_date = c.from_date  #表示入职时间order by growth asc

复盘:大佬用的自连接,当前最新的在职员工薪资 — 这个员工入职时的薪资=薪资涨幅

3题目

我的错误代码:

select d.dept_no,d.dept_name,count(s.emp_no) as sum #使用count时出错
from departments d 
left join dept_emp de on d.dept_no=de.dept_no 
right join salaries s on de.emp_no=s.emp_no
group by s.emp_no
order by d.dept_no

正确代码:感觉这个代码和我逻辑是一样的 

SELECT d.dept_no, d.dept_name, count(s.salary) AS SUM
FROM departments d 
JOIN dept_emp de ON d.dept_no = de.dept_no
JOIN salaries s ON de.emp_no = s.emp_no
group by d.dept_no
order BY d.dept_no ASC

改正我的代码:

select d.dept_no,d.dept_name,count(s.emp_no) as sum #使用count时出错
from departments d 
left join dept_emp de on d.dept_no=de.dept_no 
right join salaries s on de.emp_no=s.emp_no
group by d.dept_no #分组聚合出现问题,要看的是每个【部门】里面的薪资记录数
order by d.dept_no

 复盘:题目说还要看部门在salaries表里面有多少条记录,所以应该按照部门分组,而不是按照salaries表里面的员工号分组,因为不是看每个员工有几条薪资记录。

4题目

正确代码但是这个平台没有运行成功:

SELECT s1.emp_no, s1.salary, COUNT(DISTINCT s2.salary) AS rank
FROM salaries AS s1, salaries AS s2
WHERE s1.to_date = '9999-01-01'  
AND s2.to_date = '9999-01-01' 
AND s1.salary <= s2.salary
GROUP BY s1.emp_no
ORDER BY s1.salary DESC, s1.emp_no ASC

在支持ROW_NUMBER、RANK、DENSE_RANK等函数的SQL Server数据库中,有以下更简单的参考代码:

SELECT emp_no, salaries, DENSE_RANK() OVER(ORDER BY salary DESC) AS rank
WHERE to_date = '9999-01-01' ORDER BY salary DESC, emp_no ASC

复盘:没有搞懂啥事1-N排序,而且这个平台的SQLite数据库连很多排名函数都不支持,这种就主要是连逻辑了,代码可能还是要去其他平台练习。。。

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

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

相关文章

(文章复现)分布式电源接入配电网承载力评估方法研究

参考文献&#xff1a; [1]郝文斌,孟志高,张勇,等.新型电力系统下多分布式电源接入配电网承载力评估方法研究[J].电力系统保护与控制,2023,51(14):23-33. 1.摘要 随着光伏和风电等多种分布式电源的接入&#xff0c;使得传统配电网的结构及其运行状态发生了较大改变。因此&…

机器学习-8-超参数寻优的常用算法

参考参数优化系列1–随机搜索算法原理及其代码实现 参考参数优化系列2–网格搜索 参考参数优化系列3–贝叶斯算法 参考参数优化系列4–强化学习算法 参数优化系列5–粒子群算法 参考贝叶斯超参数寻优scikit-optimize 参考全面总结机器学习超参数调优 1 随机搜索算法 随机搜索…

【网络】网络编程套接字

一、知识提及 1.源IP地址和目的IP地址 在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址 2.端口号 端口号(port)是传输层协议的内容. 端口号是一个2字节16位的整数;端口号用来标识一个进程, 告诉操作系统, 当前的这个数据要交给哪一个进程来处理;IP地址 …

一文介绍数据和模型漂移(Drift):漂移检测示例

大家好&#xff0c;漂移(Drift)是机器学习中用来描述模型在生产环境中随着时间推移而性能逐步下降的现象&#xff0c;由很多原因引起&#xff0c;主要原因是随着时间推移输入数据&#xff08;x&#xff09;分布的变化和期望目标&#xff08;y&#xff09;之间的关系发生了变化。…

PHP MySQL图解学习指南:开启Web开发新篇章

PHP曾经是最流行的Web开发语言&#xff0c;许多世界领先的网站(如Facebook、维基百科和WordPress)都是用它编写的。PHP运行在Web服务器端&#xff0c;通过使用存储在MySQL数据库中的数据&#xff0c;使得网站可以为每一位访问者显示不同的定制页面。书中采用简单、直观的图示化…

STL-priority_queue的使用及其模拟实现

优先级队列(priority_queue)默认使用vector作为其底层存储数据的容器&#xff0c;在vector上又使用了堆算法将vector中的元素构造成堆的结构&#xff0c;因此priority_queue就是堆&#xff0c;所有需要用到堆的位置&#xff0c;都可以考虑使用priority_queue。 注意&#xff1…

可选链与空值合并运算符的妙用

可选链&#xff08;Optional Chaining&#xff09;和空值合并运算符&#xff08;Nullish Coalescing Operator&#xff09;是 JavaScript 中的两个新特性&#xff0c;它们可以在处理可能为 null 或 undefined 的值时提供更简洁和安全的代码。 可选链允许我们通过在对象的属性后…

【好书分享第十三期】AI数据处理实战108招:ChatGPT+Excel+VBA

文章目录 一、内容介绍二、内页插图三、作者简介四、前言/序言五、目录 一、内容介绍 《AI数据处理实战108招&#xff1a;ChatGPTExcelVBA》通过7个专题内容、108个实用技巧&#xff0c;讲解了如何运用ChatGPT结合办公软件Excel和VBA代码实现AI办公智能化、高效化。随书附赠了…

NDIS驱动开发-NET_BUFFER体系

网络数据由通过网络发送或接收的数据包组成。 NDIS 提供数据结构来描述和组织此类数据。 NDIS 6.0 及更高版本的主要网络数据结构包括&#xff1a; NET_BUFFERNET_BUFFER LISTNET_BUFFER_LIST_CONTEXT 它们之间的关系如下: 在 NDIS 6.0 及更高版本中&#xff0c; NET_BUFFER …

AI工程师:高薪时代的领跑者

在科技飞速发展的今天&#xff0c;人工智能&#xff08;AI&#xff09;技术正日益成为推动社会进步的关键力量。与此同时&#xff0c;AI领域的人才需求也呈现出井喷之势&#xff0c;其中AI工程师更是成为了各大企业竞相争夺的“香饽饽”。根据最新数据显示&#xff0c;AI工程师…

串口调试助手中文乱码 解决方案

输出乱码 一般&#xff0c;当串口调试助手输出乱码时&#xff0c;可能有以下几个原因&#xff1a; 波特率设置错误&#xff1a;串口通信需要保证发送和接收的设备使用相同的波特率。请检查串口调试助手和目标设备的波特率设置是否一致。 数据位、停止位或校验位设置错误&…

支持向量机、随机森林、K最近邻和逻辑回归-九五小庞

支持向量机&#xff08;Support Vector Machine, SVM&#xff09;、随机森林&#xff08;Random Forest&#xff09;、K最近邻&#xff08;K-Nearest Neighbors, KNN&#xff09;和逻辑回归&#xff08;Logistic Regression&#xff09;是机器学习和统计学习中常用的分类算法。…

【目标解算】相机内外参数详细解读+坐标系转换

一、相机参数介绍 1.1 相机内参矩阵 概念&#xff1a;内参矩阵用于描述相机的内部参数&#xff0c;它包含了相机的焦距、主点坐标和图像的畸变等信息。内参矩阵的形式通常为一个3x3的矩阵&#xff0c;常用表示为K。内参矩阵可以将相机坐标系中的三维点映射到图像平面上的二维…

C++设计模式之策略模式、迭代器模式、适配器模式、工厂模式、超级工厂模式、享元模式、代理模式

文章目录 一、介绍1.毫无价值的使用虚函数例子 二、策略模式1.策略模式2.多重策略与迭代器模式3.不要什么东西都塞一块 三、适配器模式1.跨接口的适配器2.跨接口的适配器 四、工厂模式1.工厂模式2.超级工厂模式3.RAII 自动管理内存4.工厂模式实战 五、享元模式1.享元模式2.代理…

linux安装mysql后,配置mysql,并连接navicat软件

Xshell连接登陆服务器 输入全局命令 mysql -u root -p 回车后&#xff0c;输入密码&#xff0c;不显示输入的密码 注意mysql服务状态&#xff0c;是否运行等 修改配置文件my.cnf&#xff0c;这里没找到就找my.ini&#xff0c;指定有一个是对的 find / -name my.cnf 接下…

GPT-4你了解多少呢

一、引言 在人工智能&#xff08;AI&#xff09;领域&#xff0c;自然语言处理&#xff08;NLP&#xff09;技术一直备受关注。近年来&#xff0c;随着深度学习技术的飞速发展&#xff0c;NLP领域也取得了显著进步。GPT-4&#xff0c;作为OpenAI公司最新发布的自然语言处理模型…

bochs 调试基本指令大全

bochs 调试基本指令大全 功能 指令 举例 在某物理地址设置断点 b addr b 0x90000 运行到断点位置 c c 单步运行&#xff08;遇到函数则进入&#xff09; s s 单步运行&#xff08;遇到函数则跳过&#xff09; n n 继续运行上调指令 回车 回…

liunx进程和计划任务管理

文章目录 一、进程特殊情况 二、查看进程2.1进程查看2.2补充说明 三、进程管理3.1运维的指标五大负载 3.2定时任务、计划任务 一、进程 进程管理 相当于任务管理器 进程就是运行起来的代码 线程&#xff1a;线程相当于复制了进程的部分代码&#xff0c;程序运行起来之后&…

2024-03-23青少年软件编程(Python语言)等考(五级)解析

2024-03-23青少年软件编程(Python语言)等考(五级)解析一、单选题(共25题,共50分) 1.以下代码的输出结果是?( A ) nums = list(range(100, 201)) print(nums[::10]) A.[100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200] B.[100, 101, 102, 103, 104, 105, 106…

京东二面:为什么Netty要造FastThreadLocal?

FastThreadLocal 从字面意义上来看&#xff0c;它是“Fast”“ThreadLocal”的结合体&#xff0c;寓意为快速的 ThreadLocal。那么&#xff0c;问题来了&#xff0c;Netty 为什么要再造一个 FastThreadLocal&#xff1f;FastThreadLocal 运行快的原因是啥&#xff1f;除了快之外…