【力扣SQL】几个常见SQL题

【力扣SQL】184. 部门工资最高的员工

Employee:id(主键)、name、salary、departmentId(外键)

Department:id(主键)、name

出每个部门中薪资最高的员工:Department.nameEmployee.name、Salary

sql 复制代码
SELECT
    Department.name AS 'Department',
    Employee.name AS 'Employee',    
    Salary
FROM
    Employee,
    Department
where 
    Employee.DepartmentId = Department.Id
and
    (Employee.DepartmentId , Salary) IN
    (   
        # 每个部门最高薪水:部门id,薪水数
        SELECT DepartmentId, MAX(Salary) as Salary
        FROM Employee
        GROUP BY DepartmentId
    )

【力扣SQL】176. 第二高的薪水

Employee:id(主键)、salary

查询并返回表中第二高的薪水 。如果不存在第二高的薪水,返回 null

sql 复制代码
select
(
    select distinct Salary
    from Employee
    order by Salary desc
    limit 1 
    offset 1
) as SecondHighestSalary

【力扣SQL】178. 分数排名

Scores:id、score

查询并对分数从高到低进行排序。如果两个分数相等,那么两个分数的排名应该相同。在排名相同的分数后,排名数应该是下一个连续的整数。

sql 复制代码
select
  score,
  dense_rank() over (
    order by score desc
  ) as 'rank'
from
  Scores

【力扣SQL】180. 连续出现的数字

Logs:id(主键,自增)、num

找出所有至少连续出现三次的数字。返回的结果表中的数据可以按任意顺序排列。

sql 复制代码
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
相关推荐
汉克老师11 分钟前
第十四届蓝桥杯青少组C++选拔赛[2023.2.12]第二部分编程题(4、最大空白区)
c++·算法·蓝桥杯·蓝桥杯c++·c++蓝桥杯
共享家952717 分钟前
优先搜索(DFS)实战
算法·leetcode·深度优先
一只懒洋洋36 分钟前
中值滤波、方框滤波、高斯滤波、均值滤波、膨胀、腐蚀、开运算、闭运算
算法·均值算法
shellvon43 分钟前
你怎么被识别的?从TLS到Canvas的设备追踪术
后端·算法
薛定谔的算法1 小时前
JavaScript栈的实现与应用:从基础到实战
前端·javascript·算法
羚羊角uou1 小时前
【Linux】匿名管道和进程池
linux·c++·算法
FLS1681 小时前
Kali搭建sqli-labs靶场
linux·sql·安全·网络安全
007php0072 小时前
某大厂MySQL面试之SQL注入触点发现与SQLMap测试
数据库·python·sql·mysql·面试·职场和发展·golang
空白到白2 小时前
决策树-面试题
算法·决策树·机器学习
flashlight_hi2 小时前
LeetCode 分类刷题:2563. 统计公平数对的数目
python·算法·leetcode