当前位置: 首页 > news >正文

SQL力扣

今天的题好多case then else end的

608-tree-node

https://leetcode.com/problems/tree-node/description/

树节点,流控制语句CASE,2025年6月13日 星期五

-- 
select id,casewhen p_id is null then 'Root'when Tree.id in (select p_id from Tree) then 'Inner'else 'Leaf'end as type
from Tree

错误的答案和原因

selectid,case when p_id is null then "Root"when id not in (select p_id from tree) then "Leaf"else "Inner"end as Type
fromtree

A not in B的原理是拿A表值与B表值做是否不等的比较, 也就是a != b. 在sql中, null是缺失未知值而不是空值(详情请见MySQL reference).

当你判断任意值a != null时, 官方说, “You cannot use arithmetic comparison operators such as =, <, or <> to test for NULL”, 任何与null值的对比都将返回null. 因此返回结果为否,这点可以用代码 select if(1 = null, ‘true’, ‘false’)证实.

从上述原理可见, 当询问 id not in (select p_id from tree)时, 因为p_id有null值, 返回结果全为false, 于是跳到else的结果, 返回值为inner. 所以在答案中,leaf结果从未彰显,全被inner取代.

610-triangle-judgement

https://leetcode.com/problems/triangle-judgement/

case then else,2025年6月13日 星期五

select x, y, z,caseWHEN x + y > z AND x + z > y AND y + z > x THEN 'Yes'else 'No'end as 'triangle'
from Triangle

619-biggest-single-number

https://leetcode.com/problems/biggest-single-number/description/

单一数字 是在 MyNumbers 表中只出现一次的数字。

找出最大的 单一数字 。如果不存在 单一数字 ,则返回 null 。

只出现一次的最大数字,2025年6月13日 星期五

select max(t.num) AS num
from (select numfrom MyNumbersgroup by numhaving count(num) = 1) t

620-not-boring-movies

https://leetcode.com/problems/not-boring-movies/description/

发现自己容易把SQL和Python混淆,这里的mod,写成了%2 == 1

mod(id, 2) = 1,2025年6月13日 星期五

select id, movie, description, rating
from cinema
where mod(id, 2) = 1 and description != 'boring'
order by rating desc

626-exchange-seats

https://leetcode.com/problems/exchange-seats/description/

交换位置,2025年6月13日 星期五

-- 对于所有座位 id 是奇数的学生,修改其 id 为 id+1,如果最后一个座位 id 也是奇数,则最后一个座位 id 不修改。对于所有座位 id 是偶数的学生,修改其 id 为 id-1。
select (case when mod(id, 2) = 1 and counts != id then id + 1when mod(id, 2) = 1 and counts = id then idelse id-1end) as id,student
from seat,(select count(*) as counts from seat) as seat_counts
order by id asc

相关文章:

  • Flotherm许可管理工具和软件
  • RAD:通过基于大规模 3DGS 的强化学习训练端-到-端驾驶策略
  • PCB 层压板的 Dk 和 Df 表征方法 – 第一部分
  • MATLAB | 如何使用MATLAB获取《Nature》全部绘图 (附23-25年图像)
  • 认识LinkedHashMap
  • MySQL 8.0 OCP 英文题库解析(十八)
  • 【android bluetooth 框架分析 04】【bt-framework 层详解 7】【AdapterProperties介绍】
  • 吃透 Golang 基础:函数
  • Markdown入门与语法汇总
  • 用电子垃圾DIY一个可调小电源(5-12V)
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(三十三) -> 构建任务
  • linux学习慕课版 第一章 Linux 文件与目录学习笔记
  • WEBSOCKET研究
  • 深入剖析Redis高性能的原因,IO多路复用模型,Redis数据迁移,分布式锁实现
  • 【IEEE/EI/Scopus检索】2025年第六届模式识别与数据挖掘国际会议 (PRDM 2025)
  • ros导航原理
  • 如何在 Visual Studio Code 中配置SSH、Git 和 Copilot插件
  • 对象注入 BeanFactory 的操作 BeanFactoryPostProcessor , Spring boot
  • 20250613在Ubuntu20.04.6下编译Rockchip的RK3576原厂Android14的SDK【整理编译】
  • JVM GC 问题排查实战案例
  • 网站专题页怎么做/百度做广告怎么做
  • wordpress 隐藏相关文章/seo推广收费标准
  • 广州网站建设团队/百度收录的网页数量
  • 学习制作网页的网站/网站权重排名
  • 建设银行对账网站/黄页网
  • 自己做网站必须要学哪些/seo和sem哪个工资高