【力扣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
相关推荐
蒟蒻小袁1 小时前
力扣面试150题--实现Trie(前缀树)
leetcode·面试·c#
电院工程师1 小时前
轻量级密码算法CHAM的python实现
python·嵌入式硬件·算法·安全·密码学
大白曾是少年1 小时前
哈希表三种数据结构在leetcode中的使用情况分析
数据结构·leetcode·散列表
潘小磊2 小时前
高频面试之10 Spark Core & SQL
sql·面试·spark
@老蝴7 小时前
C语言 — 通讯录模拟实现
c语言·开发语言·算法
L-ololois8 小时前
【AI】模型vs算法(以自动驾驶为例)
人工智能·算法·自动驾驶
安全系统学习9 小时前
网络安全之RCE简单分析
开发语言·python·算法·安全·web安全
TGB-Earnest11 小时前
【leetcode-合并两个有序链表】
javascript·leetcode·链表
GEEK零零七11 小时前
Leetcode 3299. 连续子序列的和
算法·leetcode·动态规划
飞飞是甜咖啡11 小时前
【机器学习】Teacher-Student框架
人工智能·算法·机器学习