【Oracle递归查询】教程文章相关的互联网学习教程文章

ORACLE递归查询(适用于ID,PARENTID结构数据表)

1<code plain"="" style="white-space: pre-wrap; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.8em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !im...

Oracle递归树【图】

where <Conditional-1> //过滤 start with <Conditional-2> //递归起点 connect by <Conditional-3>; //连接限定 注意: 1、prior放在子节点端,则表示扫描树是以start with指定的节点作为根节点从上往下扫描 2、prior放在父节点端,则表示扫描树是以start with指定的节点作为最低层子节点,从下往上扫描。 3、去掉prior关键字表示不进行递归 例子截图: Oracle递归树标签:本文系统来源:http://my.oschina.net...

Oracle递归查询【代码】

1.1、建立表与插入数据CREATE TABLE DISTRICT (ID NUMBER(10) NOT NULL,PARENT_ID NUMBER(10),NAME VARCHAR2(255 BYTE) NOT NULL );ALTER TABLE DISTRICT ADD (CONSTRAINT DISTRICT_PKPRIMARY KEY(ID));ALTER TABLE DISTRICT ADD (CONSTRAINT DISTRICT_R01 FOREIGN KEY (PARENT_ID) REFERENCES DISTRICT (ID));insert into DISTRICT (id, parent_id, name) values (1, null, ‘四川省‘)...

Oracle递归查询所有树结构,并确定其中的一条分支

递归查询所有树结构: select * from tableconnect by prior id= parent_idstart with id=总公司的id 以上SQL语句查询出来的树结构有三条分支! 递归查询出的树结构,有多条分支的情况下,确定其中的某一条分支: SELECT *from(select * from tableconnect by prior id= parent_idstart with id=总公司的id) tconnect by prior id=parent_idstart with id=代理A1的id 以上SQL语句会得到:代理A1>代理A2>代理A3 小白的理解,还请各...

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

一、CREATE TABLE TBL_TEST(ID NUMBER,NAME VARCHAR2(100 BYTE),PID NUMBER DEFAULT 0)INSERT INTO TBL_TEST(ID,NAME,PID) VALUES(‘1‘,‘10‘,‘0‘);INSERT INTO TBL_TEST(ID,NAME,PID) VALUES(‘2‘,‘11‘,‘1‘);INSERT INTO TBL_TEST(ID,NAME,PID) VALUES(‘3‘,‘20‘,‘0‘);INSERT INTO TBL_TEST(ID,NAME,PID) VALUES(‘4‘,‘12‘,‘1‘);INSERT INTO TBL_TEST(ID,NAME,PID) VA...

oracle 递归和connect by【转】

查找所有第一层(包括)下的所有子节点 select m.*,LEVEL, CONNECT_BY_ROOT(id) from tb_menu m start with m.id = ‘1‘ connect by PRIOR m.id = m.parent; oracle connect by用法 http://www.cnblogs.com/cx-zyq/p/6116747.html 2.1 从根节点查找叶子节点 2.2 从叶子节点查找上层节点 3.3 字符串分割,由一行变为多行oracle 递归和connect by【转】标签:递归 包含 rom 3.3 color 字符串 sel lan ora 本文系统...

oracle递归查询

* FROM tree START WITH id = 2 CONNECT BY PRIOR pid = id -- 递归查询父节点 union SELECT * FROM tree START WITH id = 2 CONNECT BY pid = PRIOR id; -- 递归查询子节点 oracle递归查询标签:class art ora nbsp span src ble -- nio 本文系统来源:http://www.cnblogs.com/likun10579/p/6714024.html

Oracle递归查询的原理

当start with是根节点(level=1),要查其子节点,connect by pump和emp都是被扫描4次(总的层次)。 当start with是根节点(level=2),要查其子节点,connect by pump和emp被扫描3次。 当start with是根节点(level=3),要查其子节点,connect by pump和emp被扫描2次。 当start with是根节点(level=4),要查其子节点,connect by pump和emp被扫描1次。 注意的是:leve=2,level=3不是叶子节点,假设是叶子节点,那...

Oracle 向上递归、向下递归【代码】

---- 向上递归select distinct orgguid,dtb_orgguid,orgname from dtba_organization a start with orgguid = ‘2117bc0897e543168fd9702216165c77‘ connect by prior dtb_orgguid = orgguid orgguid 最小级别 ---- 向下递归 select distinct orgguid,dtb_orgguid,orgname from dtba_organization a start with dtb_orgguid = ‘5ca832cb82ed487d9b946890692529fe‘ connect by prior orgguid = dtb_orgguid dtb_orgguid 最大...

Oracle start with connect by prior... 递归查询【代码】【图】

create table create table prior_test ( parentid number(10),subid number(10) ); -- 字段类型最好用 number,而不是 varchar2,因为测试 SQL 需要比较 id-- insert insert into prior_test values ( 1, 2 ); insert into prior_test values ( 1, 3 ); insert into prior_test values ( 2, 4 ); insert into prior_test values ( 2, 5 ); insert into prior_test values ( 3, 6 ); insert into prior_test values ( 3, 7 ); i...

oracle中 connect by prior 递归查询

Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是: select ... from tablename start with 条件1 connect by 条件2 where 条件3; 例: select * from table start with org_id = ‘HBHqfWGWPy‘ connect by prior org_id = parent_id; 简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段: org_id,parent_id那么通过表示每一条记录的parent是谁,就可以形成一个...

Oracle递归查询【代码】【图】

* from PT_ORG_INFO START WITH id=‘102‘ CONNECT BY PRIOR id=par_idView Code 连表递归查询SQL: select info.* from PT_CAMERA_INFO info join (select * from PT_ORG_INFO START WITH id=‘102‘ CONNECT BY PRIOR id=par_id) org on org.id=info.org_id where 1=1View Code Oracle递归查询标签:select camera isp start rom connect pen sql onclick 本文系统来源:http://www.cnblogs.com/s0611163/p...

Oracle “CONNECT BY” (层级递归查询)

1 2[ START WITH condition ] CONNECT BY [ NOCYCLE ] conditionThe start with .. connect by clause can be used to select data that has a hierarchical relationship (usually some sort of parent->child (boss->employee or thing->parts). 说明: 1. START WITH:告诉系统以哪个节点作为根结点开始查找并构造结果集,该节点即为返回记录中的最高节点。 2. 当分层查询中存在上下层互为父子节点的情况时,会返回ORA-01436错...

Oracle递归查询树结构【代码】

table test1 ( cid int, cpid int ) insert into test1 (cid,cpid) values(1,0); insert into test1 (cid,cpid) values(2,1); insert into test1 (cid,cpid) values(3,1); insert into test1 (cid,cpid) values(4,2); insert into test1 (cid,cpid) values(5,3); insert into test1 (cid,cpid) values(6,3);select * from test1 --找根的所有子 select * from test1 start with cpid = 0 Connect by prior cid = cpid--找 子所在的...

oracle递归查询子节点【代码】

通过子节点向根节点追朔.select * from persons.dept start with deptid=76 connect by prior paredeptid=deptid通过根节点遍历子节点(不包含根节点).select * from persons.dept start with paredeptid=0 connect by prior deptid=paredeptid通过根节点遍历子节点(包含根节点).select * from persons.dept start with deptid=0 connect by prior deptid=paredeptid可通过level 关键字查询所在层次.select a.*,level from persons....