(202307)wonderful-sql:决胜秋招(task6)

news/2025/2/19 2:55:12/

 教程链接:Datawhale - 一个热爱学习的社区

换硬盘重装了系统,后面应该也不会用到mysql,不装环境了,没有截图。

Section A

练习一: 各部门工资最高的员工(难度:中等)

创建Employee 表,包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id。

CREATE TABLE Employee (Id INT PRIMARY KEY,Name VARCHAR(255),Salary INT,DepartmentId INT,CONSTRAINT fk_departmentFOREIGN KEY (DepartmentId)REFERENCES Department(Id)
);INSERT INTO Employee (Id, Name, Salary, DepartmentId) VALUES (1, 'Joe', 70000, 1),(2, 'Henry', 80000, 2),(3, 'Sam', 60000, 2),(4, 'Max', 90000, 1);

创建Department 表,包含公司所有部门的信息。

CREATE TABLE Department (Id INT PRIMARY KEY,Name VARCHAR(255)
);INSERT INTO Department (Id, Name) VALUES (1, 'IT'),(2, 'Sales');

编写一个 SQL 查询,找出每个部门工资最高的员工。例如,根据上述给定的表格,Max 在 IT 部门有最高工资,Henry 在 Sales 部门有最高工资。

SELECT d.Name AS Department, e.Name AS Employee, e.Salary
FROM Employee e
JOIN Department d ON e.DepartmentId = d.Id
WHERE (e.DepartmentId, e.Salary) IN (SELECT DepartmentId, MAX(Salary)FROM EmployeeGROUP BY DepartmentId
);

练习二: 换座位(难度:中等)

SELECT CASE WHEN id%2=0 THEN id-1 WHEN id<(SELECT COUNT(*) FROM seat) THEN id+1 ELSE id END AS id, student 
FROM seat 
ORDER BY id;

练习三: 分数排名(难度:中等)

SELECT class, score_avg, RANK() OVER (ORDER BY score_avg DESC) AS rank1, RANK() OVER (PARTITION BY score_avg ORDER BY class) AS rank2, RANK() OVER (ORDER BY score_avg) AS rank3 
FROM (SELECT class, AVG(score) AS score_avg FROM scores GROUP BY class
) AS t
ORDER BY class;

练习四:连续出现的数字(难度:中等)

SELECT DISTINCT Num AS ConsecutiveNums
FROM (SELECT Num, ROW_NUMBER() OVER (PARTITION BY Num ORDER BY Id) AS row_num, ROW_NUMBER() OVER (PARTITION BY Num ORDER BY Id) - Id AS diffFROM Logs
) AS t
WHERE diff = 2
ORDER BY ConsecutiveNums;

练习六:至少有五名直接下属的经理 (难度:中等)

SELECT Name
FROM Employee
WHERE ManagerId IS NULL
GROUP BY Name
HAVING COUNT(*) = 5;

http://www.ppmy.cn/news/1005319.html

相关文章

[CKA]考试之持久化存储卷PersistentVolume

由于最新的CKA考试改版&#xff0c;不允许存储书签&#xff0c;本博客致力怎么一步步从官网把答案找到&#xff0c;如何修改把题做对&#xff0c;下面开始我们的 CKA之旅 题目为&#xff1a; Task 创建一个pv&#xff0c;名字为app-config&#xff0c;大小为2Gi&#xff0c;…

k8s概念-ConfigMap

回到目录 一般用于去存储 Pod 中应用所需的一些配置信息&#xff0c;或者环境变量&#xff0c;将配置于 Pod 分开&#xff0c;避免应为修改配置导致还需要重新构建 镜像与容器。 1 创建ConfigMap #使用 kubectl create configmap -h 查看示例&#xff0c;构建 configmap 对象…

从web漏洞到linux权限提升

从web漏洞到linux权限提升 一、Linux系统介绍与使用二、Linux权限说明2.1、文件权限2.2、linux文件、目录权限说明 三、权限提升 一、Linux系统介绍与使用 linux-全称GNU/Linux&#xff0c;是一种免费使用和自由传播的类UNIX操作系统&#xff0c;是基于POSIXI的多用户、多任务…

C++设计模式行为型之观察者模式

一、概述 观察者模式定义对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。 二、示例代码 #include <list> class Subject; class Observer { public: virtual ~Observer(); virt…

学了一个礼拜 JavaScript 为什么还是学不会?

前言 首先从你的描述里面我先以我的主观臆断来猜测一下你是没有任何编程的基础的&#xff0c;Js按理来说在各语言中并不是非常难学&#xff0c;当然如果你是纯新手入门&#xff0c;那么确实前期需要时间来沉淀一下语法&#xff0c;一个礼拜的话&#xff0c;按理来说应该是在沉…

新手Vite打包工具的使用并解决yarn create vite报错

一、手动创建 1.创建vite-Demo文件夹 2.初始化 yarn init -y 3.安装vite yarn add -D vite 4.打包准备 说明&#xff1a;不需要在src下面创建&#xff0c;在vite-Demo文件夹创建 4.1index.js文件 document.body.insertAdjacentHTML("beforeend","<h1>…

2500、删除每行中最大值在IDEA中调试Java

leetcode:2500、删除每行中最大值在IDEA中调试&#xff0c;使用Java实现 题目描述&#xff1a; 给你一个 m x n 大小的矩阵 grid &#xff0c;由若干正整数组成。 执行下述操作&#xff0c;直到 grid 变为空矩阵&#xff1a; 从每一行删除值最大的元素。如果存在多个这样的…

七、Spring 面向切面编程(AOP)学习总结

文章目录 一、初识面向切面编程&#xff08;AOP&#xff09;1.1 什么是 AOP1.2 AOP的应用场景1.3 Aop 在 Spring 中的作用1.3.1 Aop 的核心概念 1.4 使用 Spring 实现 AOP1.4.1 方式一&#xff1a;使用 Spring API 接口实现 AOP 【主要是SpringAPI接口实现】1.4.2 方式二&#…