指定pid=a,選出 a b a c a e b b1 b b2 c c1 e e1 e e3 SQL語句:select parent,child from test start with pid='a' connect by prior id=pid
Oracle SQL遞歸查詢語句: 1、表機構
復制代碼 代碼如下:
SQL> desc comm_org_subjection Name Null? Type ----------------------------------------- -------- ---------------------- ORG_SUBJECTION_ID NOT NULL VARCHAR2(32) 子鍵 ORG_ID NOT NULL VARCHAR2(32) FATHER_ORG_ID NOT NULL VARCHAR2(32) 父鍵 LOCKED_IF NOT NULL VARCHAR2(1) START_DATE NOT NULL DATE END_DATE DATE EDITION_NAMEPLATE NUMBER(8) CODE_AFFORD_IF VARCHAR2(1) CODE_AFFORD_ORG_ID NOT NULL VARCHAR2(32) CODING_SHOW_ID NUMBER(8) BSFLAG VARCHAR2(1) MODIFI_DATE DATE CREATOR_ID VARCHAR2(32) CREATE_DATE DATE CREATOR VARCHAR2(35)
2、遞歸查找父結點 org_id為C6000000000001下的所有子結點:
復制代碼 代碼如下:
select * from comm_org_subjection a start with a.org_id='C6000000000001' connect by prior a.org_subjection_id=a.father_org_id
3、遞歸查找子結點 org_id為C6000000000001下的所有父結點:
復制代碼 代碼如下:
select org_id from comm_org_subjection a start with a.org_id='C6000000000001' connect by prior a.father_org_id=a.org_subjection_id