--测试数据 create table test_lvl1 (id number, parent_id number, name varchar2(10)); insert into test_lvl1 values (1,null,'SLI1'); insert into test_lvl1 values (2,1,'SLI2'); insert into test_lvl1 values (3,1,'SLI3'); insert into test_lvl1 values (4,null,'SLI4'); insert into test_lvl1 values (5,2,'SLI5'); insert into test_lvl1 values (6,3,'SLI6'); insert into test_lvl1 values (7,5,'SLI7'); select * from test_lvl1; /* 解释一下: 1. Start with表示从那一层开始的,后面跟表达式,如: pid=0, 寻找继承关系时,指定的顶点,如果需要对整个表进行整理,比较常用 的作法是: PID is null. 例如这种情况顶点的Parent_ID显然是NULL, 所以从PID is null开始无疑是最完整的。 2. prior 表示返回所以符合这种条件(如id=pid)的connect by操作结果. */ select name, ID, PARENT_ID, LEVEL from test_lvl1 start with parent_id is null connect by prior id = PARENT_ID --连接条件 order by id -- 使用连接查询 select a.* ,b.name as parentName from test_lvl1 a left join (select name, ID, PARENT_ID, LEVEL from test_lvl1 start with parent_id is null connect by prior id = PARENT_ID) b on a.parent_id = b.id order by a.id -- sql 1992语法连接查询 select a.*, b.name as parent_name from (select name, ID, PARENT_ID, LEVEL from test_lvl1 start with parent_id is null connect by prior id = PARENT_ID) a, test_lvl1 b where a.parent_id = b.id(+) -- + 表示补充,b表就是匹配表,左表全部显示。 order by a.id
相关推荐
Oracle start with.connect by prior子句实现递归查询
主要给大家介绍了关于Oracle递归查询start with connect by prior、的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
Oracle 递归查询, start with connect by prior 用法 find_in_set 函数 concat,concat_ws,group_concat 函数 MySQL 自定义函数 手动实现 MySQL 递归查询 Oracle 递归查询 在 Oracle 中是通过 start ...
oracle中 connect by prior 递归算法 Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的
oracle中的数查询,介绍的详细,有例子。
NULL 博文链接:https://yunqiang-zhang-hotmail-com.iteye.com/blog/1312354
Oracle使用递归查询。查询树结构的sql。在Oracle中,递归查询要用到start with ……connect by prior……
ORACLE查询树型关系(connect_by_prior_start_with)
Oracle_start_with_connect_by_prior_用法[文].pdf
oracle菜单树查询 使用实例 使用START WITH CONNECT BY PRIOR子句实现递归查询
前言 对于数据库中的树形结构数据,如...oracle实现递归查询的话,就可以使用start with … connect by connect by递归查询基本语法是: select 1 from 表格 start with … connect by prior id = pId start with
connect by prior数据库树的应用
oracle中的select语句可以用START WITH…CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是: 代码如下:select * from tablename start with cond1 connect by cond2 where cond3;...
前言 说到Oracle中的递归查询语法,我觉得有一些数据库基础的童鞋... select t.* from SYS_ORG t start with id = '101' connect by parent_id = prior id 2、查询某节点下所有后代节点(不包含各级父节点) select
Oracle row_number()over start with...connect by prior start with...connect by prior
Oracle中的select语句可以用START WITH…CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是: select * from tablename start with cond1 connect by cond2 where cond3; ...
当你用start with connect by nocycle prior 进行递归查找数据的时候那么下面两段代码的性能肯定是有明显差别的大家用的时候 请注意了代码可以不看下面 直接看我的总结 //查询某个文件夹文件夹ID=12里面的层次数以及...
。。。
。。。