目录

  • 1.题目名
  • 2.题目内容
  • 3 解答

1.题目名

题目名:第二高的薪水
难度:简单
来源:力扣(LeetCode)

2.题目内容

编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。

例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。

3 解答

方法一:使用子查询和 LIMIT 子句
算法

将不同的薪资按降序排序,然后使用 LIMIT 子句获得第二高的薪资。

SELECT DISTINCTSalary AS SecondHighestSalary
FROMEmployee
ORDER BY Salary DESC
LIMIT 1 OFFSET 1

然而,如果没有这样的第二最高工资,这个解决方案将被判断为 “错误答案”,因为本表可能只有一项记录。为了克服这个问题,我们可以将其作为临时表。

SELECT(SELECT DISTINCTSalaryFROMEmployeeORDER BY Salary DESCLIMIT 1 OFFSET 1) AS SecondHighestSalary
;

方法二:使用 IFNULL 和 LIMIT 子句
解决 “NULL” 问题的另一种方法是使用 “IFNULL” 函数,如下所示。

SELECTIFNULL((SELECT DISTINCT SalaryFROM EmployeeORDER BY Salary DESCLIMIT 1 OFFSET 1),NULL) AS SecondHighestSalary

数据库题目 - 第二高的薪水相关推荐

  1. 数据库-查询第二高的薪水

    数据库查询-第二高的薪水 题目:第二高的薪水 编写一个SQL查询,获取Employee表中第二高的薪水(Salary). 例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水. ...

  2. 【LeetCode数据库】第二高的薪水(176)

    文章目录 一.题目 二.解答 1. 创建数据表 2. 插入示例数据 3. 编写查询语句 3.1 解法一 3.2 解法二 3.3 解法三 0x0001 `IFNULL()`函数简介 0x0002 `IF ...

  3. LeetCode数据库 176. 第二高的薪水

    176. 第二高的薪水 SELECT IFNULL( # 没有返回NULL(SELECT DISTINCT(Salary) FROM Employee # 选取不同的薪资ORDER BY Salary ...

  4. 【领扣leetcode数据库】176.第二高的薪水

    题目描述 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 ...

  5. MYSQL练习题:第二高的薪水(查找第N高的数)

    其他相关的文章收集: SQL数据库语法及题目汇总 目录 题目 答案 方法一: MAX 方法二: limit offset 方法三: limit 方法四:窗口函数dense_rank 本题注意点:关于i ...

  6. 编写一个SQL查询,获取Employee表中第二高的薪水(Salary)

    单选 class X{Y y=new Y();public X(){System.out.print("X");} } class Y{public Y(){System.out. ...

  7. 【SQL屠夫系列】leetcode-176. 第二高的薪水

    文章目录 1. 题目 1.1 表 1.2 需求 2. 考点分析 第一层解法 第二次解法 第三层解法 更多思路 3. 开撸 1. 第一层解法 4. 扩展:第N高的薪水 4.1 说明 4.2 思路 4.3 ...

  8. 第二高的薪水--sql查询

    LEETCODE题目:编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+-------- ...

  9. leecode:176. 第二高的薪水

    题目描述 Employee 表: +-------------+------+ | Column Name | Type | +-------------+------+ | id | int | | ...

最新文章

  1. 仿照redis写的nginx开机画面
  2. 除法取模(比赛常用)
  3. 解密中国研发团队如何开发VS2010新特性
  4. linux定时任务crontab 时间,shell后台定时任务时crontab的用法
  5. 微型计算机的内存主要包括rom,信息安全技术题库:路由器硬件组件主要包括( )、闪存、ROM、RAM。 - 作业在线问答...
  6. 高可用高并发的 9 种技术架构
  7. python写入excel数据教程_python 将数据写入excel
  8. Vue中浏览器的的前进和后退
  9. 网络协议 反扒机制 fidder 抓包工具
  10. 九度oj 题目1516:调整数组顺序使奇数位于偶数前面
  11. Linux将字符串转化为float,C语言中如何将字符串转换成float和double类型
  12. 汽车票售票系统 php,客车网上售票系统(2)
  13. 12个数据可视化工具,人人都能做出超炫图表
  14. Centos7授权普通用户管理员权限
  15. 原生版本 电信卡HD语音通话记录没有显示为‘外拨的4G高清语音’仅显示为‘外拨的通话’
  16. 努力是你最幸福的时候
  17. pymysql无法访问本地计算机,使用Python和odo模块在mysql上加载csv时出错
  18. 程序员思维僵化_僵化趋势
  19. html5 canvas 图片移动端,支持移动端的HTML5 Canvas逼真黑板特效
  20. Stochastic Answer Networks for Machine Reading Comprehension读书笔记

热门文章

  1. 新型激光辨识算法助力机器人逃离死胡同
  2. PB实现BASE64加解密
  3. mysql5.7 pxc方案_mysql5.7 pxc
  4. 安信可Combo固件常见应用示例集合,适用RTL8720系列 / Ai-WB2系列模组
  5. ESS升级用户名及密码
  6. 未来营销闯关标配:大数据+智能硬件
  7. 妈妈的情绪,决定孩儿子的未来
  8. 云服务器ECS,你真的懂吗?
  9. 计算机感染勒索病毒,关于近日电脑感染勒索病毒的紧急通知
  10. vue 中的indexof_vue的这段排序代码看着不是很懂, p = p.name.indexOf(searchperson)!== -1到底是什么意思...