【SQL】刷题整理[四]

一、力扣176. 第二高的薪水

在这里插入图片描述
解决NULL的问题需要用到IFNULL的函数

代码如下:

select 
    IFNULL(
        (select distinct Salary
        from Employee
        order by Salary DESC
        limit 1 offset 1),
        null
    ) as SecondHighestSalary

二、力扣177. 第N高的薪水

代码如下:

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

三、力扣577. 员工奖金

在这里插入图片描述
在这里插入图片描述
代码如下:

select a.name,b.bonus
from Employee as a left join Bonus as b
on a.empId = b.empId
where bonus is null or bonus <1000;

四、力扣586. 订单最多的客户

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码如下:

select customer_number
from orders
group by customer_number
order by count(*) desc
limit 1;

五、力扣181. 超过经理收入的员工

在这里插入图片描述
代码如下:

select a.name as Employee
from Employee as a,Employee as b
where a.ManagerID = b.Id and a.Salary > b.Salary;

✨✨✨
旺财要加油呀!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值