【力扣白嫖日记】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

结果:


总结:

能运行就行。


相关推荐
老纪的技术唠嗑局27 分钟前
单机分布式一体化数据库的架构设计与优化
数据库·分布式
GBASE33 分钟前
“G”术时刻:Linux环境下通过ESQL/C方式连接南大通用GBase 8s数据库(上)
数据库
一只fish34 分钟前
MySQL 8.0 OCP 1Z0-908 题目解析(23)
数据库·mysql
不拘小节曹阿蛮35 分钟前
Ubuntu 20.04 ARM64架构下面安装mysql5.7.22
数据库
shylyly_1 小时前
专题一_双指针_查找总价格为目标值的两个商品
c++·算法·leetcode·双指针·查找总价格为目标值的两个商品·和为s的两个数
程序猿小D1 小时前
[附源码+数据库+毕业论]基于Spring Boot+mysql+vue结合内容推荐算法的学生咨询系统
数据库·vue.js·spring boot·mysql·毕业设计·推荐算法·学生咨询系统
在安全厂商修设备2 小时前
SQL注入与防御-第六章-3:利用操作系统--巩固访问
sql·web安全·网络安全
嗜好ya2 小时前
LeetCode 560: 和为K的子数组
数据结构·算法·leetcode
黄焖鸡能干四碗2 小时前
系统安全设计方案,软件系统安全设计方案
开发语言·数据库·安全·vue·系统安全