官方网址

Hierarchical Queries

样例

SELECT

C.PACKAGEID,

C.COMPONENT,

LEVEL,

CONNECT_BY_ISLEAF AS LEAF_FLAG,

CONNECT_BY_ROOT COMPONENT AS ROOT_ID,

CONNECT_BY_ISCYCLE AS CYCLE_FLAG,

SYS_CONNECT_BY_PATH(C.COMPONENT, '/') AS FILE_PATH

FROM   XIR_TRD.TTRD_ACC_PACKAGE_COMPONENT C

WHERE  LEVEL <= 99

START  WITH PACKAGEID = '001'

CONNECT BY NOCYCLE PRIOR

COMPONENT = PACKAGEID

AND LEVEL <= 4

ORDER  SIBLINGS BY COMPONENT

NOCYCLE

防止递归查询出现循环,仍可以返回查询结果;

如果不会出现循环,可不增加此字段,出现的话则考虑;

错误代码:ORA-01436: 用户数据中的 CONNECT BY 循环

伪列

伪列能作为字段被查询出来,能作为WHERE 语句中过滤字段,能作为ORDER BY 中使用;

伪列不能作为START WITH  字段使用,不能作为CONNECT BY 中字段使用,不能作为ORDER SIBLINGS BY字段使用

LEVEL

判断当前节点值,从根节点为1开始排序,可作为WHERE语句,不能作为START

CONNECT_BY_ISCYCLE

用以显示哪行出现了循环,0表述未存在循环,1表述存在循环

使用场景,必须使用CONNECT BY NOCYCLE,才能使用

CONNECT_BY_ISLEAF

用以显示该行是否为叶子节点,1表述为叶子节点

CONNECT_BY_ROOT

返回递归查询的各个根节点内容,例如字段为子字段,则返回2,7,9;字段为父字段,则返回 ROOT

SYS_CONNECT_BY_PATH

从start with开始的地方开始遍历,并记下其遍历到的节点,start with开始的地方被视为根节点,将遍历到的路径根据函数中的分隔符,组成一个新的字符串

排序

ORDER SIBLINGS BY

SIBLINGS关键字表述字段从根节点开始,直到该节点下排序完成,再进入下一节点排序,排序的字段不能采用伪列,例如LEVEL字段

ORACLE-递归查询(分层查询)相关推荐

  1. Oracle递归查询(查询当前记录所有父级或子级)

    Oracle递归查询(查询当前记录所有父级或子级) 向上递归查询 所有上级 元数据: 1 2 3 4 SELECT * FROM ORGANIZE START WITH PARENT_ID = '14 ...

  2. oracle递归查询(查询条件ID下得所有子集)

    一.CREATE TABLE TBL_TEST ( ID    NUMBER, NAME  VARCHAR2(100 BYTE), PID   NUMBER                       ...

  3. oracle数据库分层,Oracle数据库的分层查询(一)

    我们知道关系数据库不是以分层形式存储数据的,那么我们又该如何以分层方法获取数据呢?本文将为你介绍由Oracle提供的分层查询特性,告诉你分层查询的概念,并迎合你的需要构建一个分层查询. 使用分层查询时 ...

  4. Oracle递归查询,Oracle START WITH……CONNECT BY查询

    Oracle递归查询,Oracle START WITH--CONNECT BY查询,Oracle树查询 ================================ ©Copyright 蕃薯耀 ...

  5. Oracle递归查询示例分析

    Oracle递归查询示例分析 start with connect by 层次查询(Hierarchical Queries) 从顶级向下级查询 Select  a.areaid,a.name,a.p ...

  6. Oracle递归查询的使用

    开发中我们难免会遇到一类问题是维护的数据存在父子级的关系,比如树状结构的数据,省市区镇的行政区划数据,而做查询操作时往往会遇到递归查询的场景,下面便讲解在Oracle数据库中如何进行递归查询. Ora ...

  7. oracle递归查询实例

    Oracle递归查询 创建表  建表语句: CREATE TABLE SC_DISTRICT (ID NUMBER(10) NOT NULL,PARENT_ID NUMBER(10),NAME VAR ...

  8. oracle获取所有子节点,oracle递归查询所有子节点

    Q4:Oracle通过递归查询父子兄弟节点方法示例 前言 说到Oracle中的递归查询语法,我觉得有一些数据库基础的童鞋应该都知道,做项目的时候应该也会用到,下面本文就来介绍下关于Oracle通过递归 ...

  9. oracle树状结构递归,Oracle:递归查询(树形结构数据)

    Oracle树形结构数据-相关知识总结 Oracle树形结构数据--基本知识 1.数据组成 2.基本查询 2.1.查询某节点及该节点下的所有子孙节点 SELECT   *      FROM QIAN ...

  10. Oracle递归查询上下级数据

    Oracle递归查询 查询下级数据时 start with child=? - prior child=parent 查询上级数据时关系调换,用 start with child=? - prior ...

最新文章

  1. 美国北卡教堂山分校Jeff Dangl组植物微生物组博士后招聘(植物微生物互作领域第一高引学者)...
  2. 如何估算文章阅读时长?
  3. 学习Docker从小白到入门
  4. java调用arcgis rest服务器_c#调用arcgis地图rest服务示例详解(arcgis地图输出)
  5. python实现二叉树和它的七种遍历
  6. ML.NET 示例:对象检测
  7. MyBatis笔记——配置文件完成增删改查
  8. 大数据分析常用的方法有哪些
  9. Java核心技术点之反射
  10. java中return提醒不兼容的_JAVA报return为不兼容类型
  11. 《Android框架揭秘》读书笔记--在Java中调用C库函数
  12. 微信小程序 上传本地图片
  13. Homebrew国内加速
  14. 马化腾的马氏建议:“小步快跑 快速迭代”
  15. 外贸员需要知道的那些事儿
  16. 新人如何快速熟悉一个新项目
  17. 高德离线地图vue-amap的api文档(1):创建地图,撒点等等
  18. 【git】------git的基本命令 (此文章转载我的老师 Alley-巷子)
  19. UVA 10158 (记忆化搜索)
  20. 猎豹移动推出直播产品Live.me风靡美国

热门文章

  1. 什么叫做私有网络VPC?
  2. [Windows 10](Windows 10 解决开机小键盘灯不亮)
  3. 学籍(学生)信息管理系统
  4. 2021年中国乳制品行业发展现状分析,“双循环”助力行业发展「图」
  5. 服务器搭建网站公网ip,如何获取公网ip,自己搭建公网ip服务器的方法
  6. 我用Python爬取美食网站3032个菜谱并分析,没有我不会做的菜!
  7. heic格式怎么改成jpg?
  8. python正则表达式匹配数字和字母_只能输入数字和字母组合的正则表达式怎么写?...
  9. docker学习笔记(四)使用docker搭建环境
  10. windows搭建php运行环境,Windows手动搭建PHP运行环境