[知识总结] 【leetcode】SQL编程题题解
作者:CC下载站 日期:2021-11-18 10:02:00 浏览:65 分类:编程开发
本文将记录力扣SQL下的题目:
除了较多的连接题目以外,有很多的排序题目,需要用到窗口函数
175.组合两个表
很基本的两表关联
SELECT
p.FirstName AS firstName, p.LastName as lastName, a.City AS city, a.State AS state
FROM Person p
LEFT JOIN Address a
ON p.PersonId = a.PersonId
176.第二高的薪水
考查LIMIT的使用,同时考虑记录只有一条的情况
SELECT
(SELECT DISTINCT
Salary
FROM
Employee
ORDER BY Salary DESC
LIMIT 1,1) AS SecondHighestSalary
177.第N高的薪水
这道题给了一个mysql的脚本
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
SET N:=N-1;
RETURN (
# Write your MySQL query statement below.
SELECT DISTINCT
Salary
FROM
Employee
ORDER BY Salary DESC
LIMIT N,1
);
END
178. 分数排名
这道题使用窗口函数会很方便
row_number()
在排名是序号连续、不重复,即使遇到表中的两个一样的数值亦是如此rank()
函数会把要求排序的值相同的归为一组且每组序号一样(序号可能会间断)dense_rank()
排序是连续的,也会把相同的值分为一组且每组排序号一样ntile(group_num)
将所有记录分成group_num个组,每组序号一样
select Score, dense_rank() over(order by Score desc) 'Rank' from Scores
179.连续出现的数字
数字连续出现三次以上,将同一张表自关联三次
SELECT DISTINCT l1.Num AS ConsecutiveNums
FROM
Logs l1,Logs l2,Logs l3
WHERE
l1.Id = l2.Id - 1
AND
l2.Id = l3.Id - 1
AND
l1.Num = l2.Num
AND
l2.Num = l3.Num
181.超过经理收入的员工
自关联作比较
SELECT
a.NAME AS Employee
FROM Employee AS a JOIN Employee AS b
ON a.ManagerId = b.Id
AND a.Salary > b.Salary
182.查找重复的电子邮箱
分组之后根据count判断
SELECT Email
FROM Person
GROUP BY Email
HAVING count(Email) > 1
183.从不订购的客户
使用NOT IN
SELECT Name Customers FROM Customers WHERE Id NOT IN (SELECT CustomerId FROM Orders)
184.部门工资最高的员工
关键在于WHERE之后的限定,使用两个字段IN一个子查询(ID和最大薪资)
SELECT
Department.name AS 'Department',
Employee.name AS 'Employee',
Salary
FROM
Employee
JOIN
Department ON Employee.DepartmentId = Department.Id
WHERE
(Employee.DepartmentId, Employee.Salary) IN
(SELECT DepartmentId, MAX(Salary)
FROM Employee
GROUP BY DepartmentId)
猜你还喜欢
- 03-29 [编程相关] Winform窗体圆角以及描边完美解决方案
- 03-29 [前端问题] has been blocked by CORS policy跨域问题解决
- 03-29 [编程相关] GitHub Actions 入门教程
- 03-29 [编程探讨] CSS Grid 网格布局教程
- 10-12 [编程相关] python实现文件夹所有文件编码从GBK转为UTF8
- 10-11 [编程算法] opencv之霍夫变换:圆
- 10-11 [编程算法] OpenCV Camshift算法+目标跟踪源码
- 10-11 [Python] python 创建 Telnet 客户端
- 10-11 [编程相关] Python 基于 Yolov8 + CPU 实现物体检测
- 03-15 [脚本工具] 使用go语言开发自动化脚本 - 一键定场、抢购、预约、捡漏
- 01-08 [编程技术] 秒杀面试官系列 - Redis zset底层是怎么实现的
- 01-05 [编程技术] 《Redis设计与实现》pdf
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[资料教程] 事业单位必刷题库
[技术课程] 【易锦】WEB渗透Hacker技术特训营(直播课第14期)
[课程] 轻松汽车摄影-全能课,最全汽车视频拍摄技巧(32节课)
[资料教程] 辣条制作配方及教程
[音乐] 低音炮车载340首
[课程] 夜鹰10分钟救命课(完结)
[资料] 寻道网道医精品视频课程集合15部
[资料课程] 适合3-7岁学前幼小衔接 《22天搞定拼音》,认、读、拼、写
[课程] 衣之镖-- 《辅行诀五脏用药法要》研究 线上54讲课程视频
[课程] 12节在家也能练出性感蜜桃臀,让臀部变得圆、紧、翘
[资料] [大学期末救急课] 猴博士+高斯课堂+斐多课堂,全集视频合集
[云资源] 价值2万元的老男孩Python教程
[书库] 史上最全摄影书推荐(附700本PDF版打包下载)
[云资源] 花了一千多元买的私人健身教程
[下载工具] Internet Download Manager 6.42.7 (IDM)
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[安卓软件] 酷我音乐APP_v10.7.6.4 去广告破解豪华VIP版
[即时通讯] 微信PC版WeChat 3.9.9.43 多开防撤回绿色版
[安卓软件] Solid Explorer文件管理器APP 2.8.38 破解版
[浏览器] Google Chrome v123.0.6312.59便携增强版
[云资源] 价值2万元的老男孩Python教程
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[云资源] 花了一千多元买的私人健身教程
[书库] 史上最全摄影书推荐(附700本PDF版打包下载)
[动画] 北斗神拳(1984) [两季合集] [MKV]
[资料] 抗战阵亡将士资料+续编
[电视剧] 三体 (2024) 全8集 网飞版本 中文字幕 合集
[纪录片] 河西走廊【10集 国语 中文字幕 1080P 10.8G MP4】
[电影] 2024年喜剧片·热辣滚烫 [mp4]
[影视] 铁爪 WEB-DL版下载 2023 The Iron Claw 23.48G
- 最新评论
-
杂物房内的旧档资源不保证有效CC下载站 评论于:05-14 不能**123 评论于:05-14 我想看看mw2ddyy 评论于:04-26 好东西阿zfy123123 评论于:04-18 谢谢楼主xiaoqi 评论于:04-12 勿在线解压,勿手机解压,请在电脑上用最新款压缩软件解压!推荐360压缩或者好压CC下载站 评论于:04-10 无法解压啊,客服能不能给个解压教程ravengrey 评论于:04-10 谢谢支持!!CC下载站 评论于:03-26 很棒的资源,感谢分享云体风身 评论于:03-26 感谢分享,好东西云体风身 评论于:03-26
- 热门tag