START WITH CONNECT BY PRIOR子句实现递归查询
表中第一行1001是1002的父节点,而第二行1002又是1003的父节点,如此循环。如题:要求给出其中一个数字能找出其最终的根节点!应该要怎么样实现呢?请看如下sql语句,这里我就拿1008为例。
图中第一行第一个num1就是根节点了。再来分析下sql语句:
select num1,num2,level
from carol_tmp
start with num2=1008
connect by num2=prior num1 order by level desc;
prior放的左右位置决定了检索是自底向上还是自顶向下.很明显以上的sql选择了自底向上,所以最终得到了根节点。
这次要求获得最小的叶节点
第一行的num1就是最小的叶节点了,在注意看下sql代码和上面的代码有什么不同之处:
select num1,num2,level
from carol_tmp
start with num2=1008
connect by prior num2= num1 order by level desc;
这次prior和num2放在了一起,他意思就是从num2开始寻找其下面最小的叶节点。
为什么prior和谁在一起比较重要呢?比如prior和 num2同在等号的一边,这个时候要看num2和num1的关系。若num2一直是parent,那么这个sql找的就是根节点。
SELECT SYS_CONNECT_BY_PATH(ename, '>') "Path"
FROM scott.emp
START WITH ename = 'KING'
CONNECT BY PRIOR empno = mgr;
>KING
>KING>JONES
>KING>JONES>SCOTT
>KING>JONES>SCOTT>ADAMS
>KING>JONES>FORD
>KING>JONES>FORD>SMITH
>KING>BLAKE
>KING>BLAKE>ALLEN
>KING>BLAKE>WARD
>KING>BLAKE>MARTIN
>KING>BLAKE>TURNER
>KING>BLAKE>JAMES
>KING>CLARK
>KING>CLARK>MILLER
分享到:
相关推荐
struts2 hibernate 实现无限级联 树形分类 基于struts2 hibernate 技术,实现对无限级联分类的crud操作
jquery下拉多级树选择插件(支持左右移动,以及模糊搜索功能),能够实现2个下拉框之间数据的移动,单个下拉框支持模糊搜索,可快速定位节点
改进的多级树形菜单dtree,eclipse开发。mysql数据库,S2SH架构,有源码和jar包。 共两部分。这是第一部分
2、内存多级树树SDK中的API支持以下功能 1)插入节点 2)精确删除节点 3)正向模糊匹配 4)反向模糊匹配 5)精确查询节点 6)获取头(尾)节点 7)删除头(尾)节点 8)排序 9)支持多级树 10)支持强大的查询节点...
oracle菜单树查询 使用实例 使用START WITH CONNECT BY PRIOR子句实现递归查询
对于多级分类常规的处理方法,很多程序员可能是用程序先读取一级分类记录,然后通过一级分类循环读取下面的子分类
主要介绍了MyBatis之自查询使用递归实现 N级联动效果,本文给大家分享两种实现方式,需要的的朋友参考下吧
完美解决多级递归查询,支持多种数据库,可以参照类似写法。有的数据库还是不支持的,但有类似的写法如oracle
基于jqgrid实现类似父子级树形菜单分页列表查询,让table页的行元素可以实现像ztree那样的上下级关系
下面小编就为大家带来一篇sqlserver实现树形结构递归查询(无限极分类)的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
事先声明下(代码非常杂乱,并未写成插件,方法都是非常low的方法),这个是模拟bootstrap的插件select-picker插件完成的多选下拉树,类似picker中,这个也可以输入进行查询,因为项目特殊需要,里面都是直接id命名...
支持下拉菜单 下拉树 模糊搜索,支持中间字段的匹配
jQuery展开收缩树形菜单代码是一款带搜索功能的,可以直接查询菜单列表,树形菜单代码。
首先构建多级查询树(位置搜索树),然后遍历查询树,使用差分隐私的指数机制来选取访问频率高的k项,最后通过拉普拉斯机制给选取的k项进行加噪。实验表明,相比于其他保护策略,基于差分隐私机制的位置数据隐私保护...
9)支持多级树 10)支持强大的查询节点功能 11)获取下一节点 12)获取上一节点 13)获取父节点、根节点 14)获取>、>=、、<指定键值的键值 。。。。。。 3、基于Trie树SDK可以开发以下功能 1)查询 2)分类统计 3)...
9)支持多级树 10)支持强大的查询节点功能 11)获取下一节点 12)获取上一节点 13)获取父节点、根节点 14)获取>、>=、、<指定键值的键值 。。。。。。 3、基于Trie树SDK可以开发以下功能 1)查询 2)分类统计 3)...
此方法可快速循环遍历多级嵌套或树状json结构,根据传入的参数获得对应的父子节点的属性值。
主要介绍了C#构建树形结构数据(全部构建,查找构建),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
9)支持多级树 10)支持强大的查询节点功能 。。。。。。 3、基于有序HASH(Trie)树SDK可以开发以下功能 1)查询 2)分类统计 3)集合(交集、并集)运算 4)快速排序 5)前缀匹配 6)中文分词 7)关键词...