【力扣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
相关推荐
杰克尼7 分钟前
1. 两数之和 (leetcode)
数据结构·算法·leetcode
YuTaoShao1 小时前
【LeetCode 热题 100】56. 合并区间——排序+遍历
java·算法·leetcode·职场和发展
古月居GYH3 小时前
【数据分析】如何在PyCharm中高效配置和使用SQL
ide·sql·pycharm
二进制person5 小时前
Java SE--方法的使用
java·开发语言·算法
OneQ6666 小时前
C++讲解---创建日期类
开发语言·c++·算法
JoJo_Way6 小时前
LeetCode三数之和-js题解
javascript·算法·leetcode
.30-06Springfield6 小时前
人工智能概念之七:集成学习思想(Bagging、Boosting、Stacking)
人工智能·算法·机器学习·集成学习
凌肖战8 小时前
力扣网C语言编程题:在数组中查找目标值位置之二分查找法
c语言·算法·leetcode
weixin_478689768 小时前
十大排序算法汇总
java·算法·排序算法
luofeiju9 小时前
使用LU分解求解线性方程组
线性代数·算法