当前位置: 首页 > news >正文

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

 教程链接: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.lryc.cn/news/109698.html

相关文章:

  • Scratch 教程:如何实现文本分割
  • 安全基础 --- 编码(02)+ form表单实现交互
  • 华为OD机考真题--五子棋--带答案
  • 把网站改为HTTPS访问方法
  • 【BASH】回顾与知识点梳理(四)
  • 阿里云安全组设置
  • QT图形视图系统 - 使用一个项目来学习QT的图形视图框架 - 终篇
  • 代码随想录算法训练营第六十天|单调栈part03|● 84.柱状图中最大的矩形
  • TCP的三次握手四次挥手
  • xml的学习笔记
  • 大数据之Hadoop(一)
  • Ubuntu安装git
  • [迁移学习]领域泛化
  • 240. 搜索二维矩阵 II
  • 【Linux:线程池】
  • 跨境多商户中日韩英多语言商城搭建(PC+小程序+H5),搭建方案
  • 使用标准库版本编写LED闪烁
  • 【CDC】跨时钟域处理方法总结一
  • 【Linux】创建分区后没有识别到分区盘?
  • W6100-EVB-PICO做DNS Client进行域名解析(四)
  • {Fixed} Android TV国内开机不会自动连接WIFI / 连接国内网络不会更新时间
  • 【ASP.NET MVC】数据到客户端(7)
  • InnoDB有哪些特性
  • 【linux--->数据链路层协议】
  • 如何在pytest接口自动化框架中扩展JSON数据解析功能?
  • 哪些年,我们编程四处找的环境依赖
  • 物联网工程开发实施,应该怎么做?
  • mysql使用SUBSTRING_INDEX拆分字符串,获取省、市、县和详细现住址
  • Kubernetes中的就绪(readinessProbe)和存活(livenessProbe)探针
  • docker端口映射详解(随机端口、指定IP端口、随意ip指定端口、指定ip随机端口)