1. 程式人生 > >ORACLE遞迴查詢(適用於ID,PARENTID結構資料表)

ORACLE遞迴查詢(適用於ID,PARENTID結構資料表)

oracle樹查詢的最重要的就是select…start with…connect by…prior語法了。依託於該語法,我們可以將一個表形結構的以樹的順序列出來。在下面列述了oracle中樹型查詢的常用查詢方式以及經常使用的與樹查詢相關的oracle特性函式等,在這裡只涉及到一張表中的樹查詢方式而不涉及多表中的關聯等。

1、準備測試表和測試資料

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364--選單目錄結構表create
 table tb_menu(   id     number(10) not null, --主鍵id   title  varchar2(50), --標題   parent number(10) --parent id)--父選單

相關推薦

ORACLE查詢用於ID,PARENTID結構資料

oracle樹查詢的最重要的就是select…start with…connect by…prior語法了。依託於該語法,我們可以將一個表形結構的以樹的順序列出來。在下面列述了oracle中樹型查詢的常用查詢方式以及經常使用的與樹查詢相關的oracle特性函式等,在這裡只涉及到一張表中的樹查詢方式而不涉及多表

oracle查詢查詢條件ID下得所有子集

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

Oracle 查詢 start with ...connect by ...prior

父親 select 進行 根節點 con ble 檢索 記錄 where 1、connect by 是結構化查詢中用到的,其基本語法是:select … from tablename start with 條件1connect by 條件2where 條件3;例:selec

Oracle 查詢:start with

 什麼時候用到start with ?    (1) 一張表中存放有目錄樹的相關資料(子類id , 父類id )    (2)但是想展示為父子型別的資料給前臺,或者列表(table)中,    (3) 這個時候就可以考

oracle查詢報錯

SELECT * FROM T_OrgCom t where t.systemcode = '04' and t.ENABLED = '1' START WITH t.id='00000000' CONNECT BY   PRIOR t.ID=t.pid 報錯:使用者資料中的co

oracle查詢最淺顯的用法

條件左邊的欄位為父親,就是向上查詢,左邊的欄位為孩子就是向下查詢。 --向上查詢,也就是指定某個節點開始,一直查到根節點,條件為 parent=child SELECT *   FROM CATALOG TCONNECT BY PRIOR T.PARENTID = T.ID

oracle查詢start with ... connect by 的使用

create table test_wx (id varchar2(30), pid varchar2(30), type varchar2(30) ); insert into test_wx (ID, PID, TYPE) values ('10', '0', 'A'

Oracle查詢start with connect by prior

一、基本語法 connect by遞迴查詢基本語法是: select 1 from 表格 start with ... connect by prior id = pId start with:表示以什麼為根節點,不加限制可以寫1=1,要以id為123的節點為根節點,就寫為start with id

ORACLE單行轉多行、ORACLE查詢

ORACLE單行轉多行 WITH TESTTABLE AS ( SELECT 'TEST1' GROUPNAME , 'A,B,C,D,E' VALUENAME FROM DUAL UNION ALL SELECT 'TEST2' GROUPNAME ,

令人迷糊的Oracle查詢(start with)

寫程式碼時碰到要弄清楚Oracle的role之間的傳遞關係,就是有role A的話,可以通過grant A to B,把A賦予給B,又通過grant B to C .那我想知道所有role中,有哪些role具有A的許可權. 上網一查發現有個遞迴查詢,不過都講的不是太詳細,而

oracle 查詢排序

有時候where查詢出的資料沒有層級關係,想要查詢的不光是是當前層的資料還要包括當前層以及當前層級以下的所有資料 SELECT * FROM pb_join ja INNER JOIN (SELECT org_id, state FROM

oracle 查詢整個路徑並行轉列組合成字串

遞迴查詢路徑: select * from t_db_organize connect by prior fartherid=id start with id='139312' order by id asc 行轉列: select replace(wm_concat(

oracle11.2g查詢樹形結構查詢

轉自: 一 二 簡單語法介紹 一、樹型表結構: 節點ID 上級ID 節點名稱 二、公式: select 節點ID,節點名稱,level from 表 connect by prior 節點ID=上級節點ID start with 上級節點ID=

SQL 查詢根據指定的節點向上獲取所有父節點,向下獲取所有子節點

WITH TEMP AS  ( SELECT * FROM t_sys_org WHERE ID='0'   --表的ID UNION ALL  SELECT T0.* FROM TEMP,t_sys_org T0 WHERE TEMP.ID=T0.parent_id  

oracle 查詢屬於本部門以及下屬部門

oracle使用遞迴查詢要使用 connect by語句 下面給出一個例項: select PUBCB_id,PUBCB001,PUBCB002 from TB_PUBCB start with PUBCB_id = 136 connect by prior PUBCB_

Oracle 查詢詳解

建立表和主外來鍵 CREATE TABLE SC_DISTRICT ( ID NUMBER(10) NOT NULL, PARENT_ID NUMBER(10), NAME VARCHAR2(

Oracle查詢

對於oracle進行簡單樹查詢(遞迴查詢) DEPTID PAREDEPTID NAME NUMBER NUMBER CHAR (40 Byte) 部門id 父部門id(所屬部門id) 部門名稱 通過子節點向根節點追朔. Sql程式碼   select 

sql語句查詢start with

寫程式碼時碰到要弄清楚Oracle的role之間的傳遞關係,就是有role A的話,可以通過grant A to B,把A賦予給B,又通過grant B to C .那我想知道所有role中,有哪些role具有A的許可權.上網一查發現有個遞迴查詢,不過都講的不是

Oracle 查詢查詢

select o1.org_id, o1.org_name, o1.p_org_id from loss_pub_org o1 --where o1.org_level = '03'/*可以新增過

git 團隊開發常用操作用於 gogs、gitlab、github

git bash 開發 -m sgi pull .cn 定義 check 右鍵 git 團隊開發常用操作流程(適用於 gogs、gitlab、github) NO1 項目構建者 (1)在遠程倉庫創建倉庫 (2)將夥伴添加到倉庫合作者中(無先後要求) (2)cd 到項目將要