【SQL】608. 树节点(流控制语句 CASE + IF语句)

前述

知识点推荐学习:
sql中的 IF 条件语句的用法
MySQL:if语句、if…else语句、case语句,使用方法解析

题目描述

leetcode 题目:608. 树节点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路

关键点:如何确定有没有子节点

  • 根节点:父节点为空
  • 内节点:所有p_id集合中有该id
  • 叶子节点:是其余的

方法一:CASE语句

selectB.id,CASE WHEN B.p_id IS NULL THEN 'Root'WHEN B.id in (select distinct A.p_id from Tree A) THEN 'Inner'ELSE 'Leaf'END AS type
from Tree B-- note: CASE when A then B 
--            when C then D 
--            else F 
--       end; # 只有一个case,不是每个when都要带个case...

方法二:IF语句

select B.id,IF(ISNULL(B.p_id),'Root',IF(B.id in (select A.p_id from Tree A), 'Inner', 'Leaf')) AS type
from Tree B;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/719670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Redo log Undo log的MySQL的崩溃恢复

基于Redo log & Undo log的MySQL的崩溃恢复 Redo log Undo log Redo log 重做日志,记录,修改过的数据 Undo log 回滚日志,记录修改之前的数据 两个我不做详细的介绍了,redo log就是记录哪些地方被修改了 undo log是记录修改之前我们的数据长什么样 更新流程 我们来捋一…

python封装,继承,复写详解

目录 1.封装 2.继承 复写和使用父类成员 1.封装 class phone:__voltage 0.5def __keepsinglecore(self):print("单核运行")def callby5g(self):if self.__voltage > 1:print("5g通话开启")else:self.__keepsinglecore()print("不能开启5g通…

Redis集群(主从)

1.主从集群 集群结构: 一.单机安装redis 1.上传压缩包并解压,编译 tar -xzf redis-6.2.4.tar.gz cd redis-6.2.4 make && make install 2.修改redis.config的配置并启动redis # 绑定地址,默认是127.0.0.1,会导致只能在本地访问。…

Tomcat布署及优化-----JDK和Tomcat

1.Tomcat简介 Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。一般来说&…

C++ //练习 10.2 重做上一题,但读取string序列存入list中。

C Primer(第5版) 练习 10.2 练习 10.2 重做上一题,但读取string序列存入list中。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /******************************************************…

【前端面试题5】利用 border 属性画一个三角形

举例1:利用 border 属性画一个三角形(小技巧) 完整代码如下: div{width: 0;height: 0;border: 50px solid transparent;border-top-color: red;border-bottom: none; }步骤如下: (1)当我们设…

【QT+QGIS跨平台编译】之五十六:【QGIS_CORE跨平台编译】—【qgsmeshcalclexer.cpp生成】

文章目录 一、Flex二、生成来源三、构建过程一、Flex Flex (fast lexical analyser generator) 是 Lex 的另一个替代品。它经常和自由软件 Bison 语法分析器生成器 一起使用。Flex 最初由 Vern Paxson 于 1987 年用 C 语言写成。 “flex 是一个生成扫描器的工具,能够识别文本中…

Android 拍照本地图片选择框架适配

前言 通常技术方案的选择、会带来后续一些不可控的东西,这也是没法避免的,程序开发者中同时面对、测试、领导、产品各种要求。同时在网络上查找的资料也只是很旧的,不一定适合新设备,需要推倒重新弄 1、解决方案通过意图选择器做…

day6 数组 嵌套循环

1&#xff1a;打印杨辉三角 91 int arr[6][6];92 int i,j0;93 for(i0;i<6;i)94 {95 for(j0;j<i;j) 96 {97 if(j0||ij)98 {99 arr[i][j]1; …

推特API(Twitter API)对接说明,用户code To Token换取

前期准备 提前准备、说明&#xff1a;目前对接推特api开发门户分为3个版本&#xff0c;分别是免费的&#xff0c;100美金一个月的基础版以及5000美金一个月的企业版&#xff0c;免费的目前就两个接口可以调用&#xff0c;所以想要对接和使用推特最基本的也需要付100美元一个月…

百度百科人物创建要求是什么?

百度百科作为我国最大的中文百科全书&#xff0c;其收录的人物词条要求严谨、客观、有权威性。那么&#xff0c;如何撰写一篇高质量的人物词条呢&#xff1f;本文伯乐网络传媒将从内容要求、注意事项以及创建流程与步骤三个方面进行详细介绍。 一、内容要求 1. 基本信息&#…

Studio One 6永久激活版 附完整图文安装破解教程

Studio One 6是一款功能强大的音乐制作和录音软件&#xff0c;专为Mac操作系统设计。它提供了多轨录音和混音、MIDI音乐制作、实时效果和处理、VST插件支持以及高级编辑和编排等丰富的功能。无论是专业音乐制作人还是音乐爱好者&#xff0c;都可以使用Studio One 6来创建和编辑…

基础真空技术外国文献Fundamentals of Vacuum Technology

基础真空技术外国文献Fundamentals of Vacuum Technology

道路积水监测站——确保道路畅通和行车安全

TH-JS1道路积水监测站是一种专门用于监测城市道路积水情况的设备&#xff0c;旨在保障城市道路安全和防止水患对交通造成的不利影响。这些监测站通过实时检测和记录道路积水数据&#xff0c;为城市管理部门提供重要信息&#xff0c;以便及时采取应对措施&#xff0c;确保道路畅…

MATLAB环境下基于离散小波变换的心电信号伪影去除及PQRST波检测

可穿戴个人健康监护系统被广泛认为是下一代健康监护技术的核心解决方案。监护设备不断地感知、获取、分析和存储大量人体在日常活动中的生理数据&#xff0c;为人体的健康状况提供必要的、准确的、集成的和长期的评估和反馈。在心电监测领域&#xff0c;可穿戴传感器具有以下应…

LeetCode刷题-206.反转链表【递归实现】

206.反转链表 题目 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 示例1 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例2 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例3 输入&#xff1a;hea…

鸿蒙开发就业前景以及发展方向分析~

鸿蒙操作系统作为华为公司自主研发的操作系统&#xff0c;已经成为当下炙手可热的话题。作为一个全新的操作系统&#xff0c;鸿蒙开发为IT行业带来了巨大的就业机会。本文将围绕鸿蒙开发的就业前景以及发展方向展开讨论。 一、鸿蒙开发就业前景 随着鸿蒙操作系统的发布&#…

python实现有限域GF(2^8)上的乘法运算

有限域GF(2^8)上的乘法运算可以看成多项式的乘法 5e转换成二进制为0101 1110&#xff0c;对应的多项式为x^6x^4x^3x^2x 3f转换成二进制为0011 1111&#xff0c;对应的多项式为x^5x^4x^3x^2x1 将这两个多项式相乘再模多项式x^8x^4x^3x1得到结果为1110 0101&#xff0c;转换为…

latex编译生成的pdf文件,图片出现浅色的线

目录 问题描述&#xff1a; 解决办法&#xff1a; 问题描述&#xff1a; 在overleaf中&#xff0c;导入图片&#xff0c;编译之后&#xff0c;不知道为什么会出现一条浅色的线&#xff0c;很影响视觉效果&#xff08;ps:在浏览器中看不到这条线&#xff0c;但是在pdf阅读器中…

分巧克力 刷题笔记

/* 分巧克力 解题思路 二分 直接检查看答案是否符合题目条件 对于一块边长分别为x 和y的巧克力\\ 假设我们输入检查的数为k 其能分割成的 k*k 的巧克力的块数为 (x/k)*(y/k) 因为c里面的除法是下取整的所以我们不用考虑奇偶数 是否能整除 将每一块巧克力能分成的k*k的巧克力…