【力扣白嫖日记】608.树节点

前言

练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。

今日题目:

175.组合两个表

表:Person

列名 类型
id int
p_id varchar

树中的每个节点可以是以下三种类型之一:

"Leaf":节点是叶子节点。

"Root":节点是树的根节点。

"lnner":节点既不是叶子节点也不是根节点。

编写一个解决方案来报告树中每个节点的类型。

以 任意顺序 返回结果表。


我那不值一提的想法:

  • 首先梳理表内容,题干一共给了一张表,记录了树中节点id和父节点id。
  • 其次分析需求,需要编写一个方案报告树中的每个节点类型。
  • 在观察了表后,我发现节点有以下规律
  • 1.根节点,p_id是null,没有父节点
  • 2.内部节点,前面有根节点,后面有叶子节点
  • 3.叶子节点,有父节点,但是没有子节点
  • 用SQL写出来
  • 1.case when p_id is null then "root"
  • 2.p_id in (select p_id from Tree)
  • 3.除了上面两种情况就是叶子节点了
sql 复制代码
select id,
    case when p_id is null then "Root" 
    when id in (select p_id from Tree) then "Inner"
    else "Leaf"
    end as type
from Tree

结果:


总结:

能运行就行。


相关推荐
这个DBA有点耶20 小时前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G20 小时前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备21 小时前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远21 小时前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
旖旎夜光21 小时前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
漂着的圆木1 天前
Agent 功能参与度:Copilot 怎么算
sql·数据分析·agent·githubcopilot·度量
2601_962218611 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安1 天前
MySQL-触发器
数据库·mysql
白远山1 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析