需求:将具有上下级关系的表,转换为树形图,并标识各节点的类型(根节点、分支节点、叶子节点)

分析与解答:

根据伪列levelconnect_by_isleaf的值进行判断即可

select
level,
(lpad(' ',(level-1)*2,' ')||empno)  树形图,   --根据层级左填充空格,以展示树形
empno,
ename,
connect_by_isleaf 是否有,    --1无0有
(case connect_by_isleaf when 1 then '没有子树'
else '有子树' end) 是否有子树,
--节点类型,根据伪列level和connect_by_isleaf判断
decode(level,1,1) 根节点,   --level和1相等,则返回1
(case when (connect_by_isleaf=0 and level>1) then 1 end) 分支节点,
decode(connect_by_isleaf,1,1) 叶子节点,
--
sal,
hiredate,
mgr,
(prior ename) as mgr_name,
(prior sal) mgr_sal
from emp
start with mgr is null
connect by (prior empno)=mgr
order siblings by empno;    --在转换成树形图之后,根据树形关系排序
--order by empno     --根据查询结果的empno排序

SQL-将具有上下级关系的表,转换成树形图,并标识各节点的类型(根节点、分支节点、叶子节点)相关推荐

  1. ORACLE普通表转换成分区表

    转http://mp.weixin.qq.com/s?__biz=MzAwMjkyMjEwNg==&mid=2247484761&idx=1&sn=ce080581145931 ...

  2. badatatable转成json_数据表转换成json(DatatableToJson)

    #region 转换Table为JSON数据 /// /// 转换Table为JSON数据 /// /// /// public static string TableToJson(DataTable ...

  3. C语言:将邻接表转换成邻接矩阵算法

    题目 设计一个将邻接表转换成邻接矩阵的算法. 分析 初始时将邻接矩阵 g 中所有对应的元素值设置为 0,扫描邻接表 G 的所有单链表,通过第 i 个单链表查找顶点 i 的相邻结点 p,通过邻接矩阵 g ...

  4. mysql宽表优化_将MySQL的窄表转换成宽表的方法

    将MySQL的窄表转换成宽表的方法 在扩展设计中,使用窄表可以很方便的增加新的项.如果用宽表,就会需要修改表结构,很不方便. 而使用宽表在查询过滤数据的时候会比窄表方便很多,数据的记录量也会少很多. ...

  5. sql server 通过上下级关系字段用递归方法生成上下级层级关联数据字段

    一.场景 有一个数据库表里面存储了一个上下级关系的字段,通过存储这个觉得的上级id.如果要查找所有的上级或者下级就要通过循环每个去查找.如下 id p_id name 1 0 老板 2 1 副总 3 ...

  6. Java案例:数据表转换成XML文档

    将数据表查询内容转换成XML文件,便于在网络上进行传输,具有一定的实用价值.   1.数据表(student) 2.数据库连接管理类 /*** 功能:获得数据库连接* 作者:华卫* 日期:2010年4 ...

  7. 序列表转换成横向菜单

    如何把一个无序列表转换成横向菜单 首先建立一个无序列表 <html> <body> <div id='item'> <ul>  <li>星期 ...

  8. excel数据库设计表转换成sql建表语句

    序号 字段英文 字段中文 主键 类型 长度 单位 空否 默认值 备注 1. ID 自增ID N 11 2. REC_CREATOR 记录创建责任者 C 10 3. REC_CREATE_TIME 记录 ...

  9. sql server数据表转换成xml

    运用 for xml但是SQL2000对此支持不好,用SQL2005比较好例如下表sno sname ssex08020001 李勇 男08020002 刘晨 女08020003 王敏 女080200 ...

最新文章

  1. Spring+Hibernate整合
  2. 《最终幻想7 重制版》DEMO体验:讨论ATB战斗系统的一些问题
  3. 前端开发-热更新原理解读
  4. subroutines of perl
  5. 形参与实参的区别---java基础
  6. gjrand 4.0 发布,C语言的伪随机数生成器
  7. Python数据可视化之Pygal(雷达图)
  8. c语言:编辑一个有趣的死循环程序并对其修改,仅仅是一个“=”号的差别
  9. 在线动态几何编辑器 GeometryEditor
  10. 【ASP.NET】swfuplod图片上传
  11. 小程序纵向选项卡可以滑动_微信小程序实现选项卡滑动切换
  12. [leetcode Q50] Pow(x, n)
  13. 人工智能未来发展论文
  14. mysql隔离级别到底是什么
  15. Vlan 单线复用之复式二层住宅网络改造实操案例(一)
  16. Quartz框架实现定时任务介绍及简单使用
  17. Visual Studio Code修改主题背景颜色
  18. 英语学习--八月转折
  19. CAD命令集 CAD命令笔记本
  20. 万豪参加进博会品牌+目的地策略继续深耕中国市场;加利福尼亚乐高乐园和法拉利推出互动式景点项目 | 全球旅报...

热门文章

  1. speedoffice(Excel)表格怎么插入分数?
  2. 实战记录:爬大众点评评论区
  3. PO、POJO、VO、Entity、Model、DTO的区别
  4. 1.2 你应该了解的轨至轨输入
  5. codeforces-103A Testing Pants for Sadness(简单递推)
  6. IE9 IE10 无法上传文件 解决方案
  7. win10系统ie直接跳转edge还原方法
  8. Cypress使用npm启用时报Error: Cannot find module ‘minimist‘
  9. 三种测试环境中的软件和硬件,硬件需求十分良心 泰坦陨落AN显卡测试
  10. 新手创业需要资金吗?