oracle 層次化查詢

2021-09-01 20:24:59 字數 813 閱讀 9771

1、層次化查詢

層次化:同一資料庫表中多條資料存在父子關係,形成樹狀結構。

利用connect by 進行層次化查詢

按照某種規則,獲得節點路徑上的節點集合。

如:select * from market

[b]start with[/b] m_id = 10

[b]connect by prior[/b] p_id = m_id;

查詢出m_id為14的記錄其所有的父級記錄。

start with m_id = 10:從m_id 為10的記錄開始查詢

根據子節點獲取頂層父節點

select it.industry_type_cd

from industry_type it

where it.parent_industry_type_cd = '0'

start with it.industry_type_cd =

pa.investment_industry

connect by prior it.parent_industry_type_cd =

it.industry_type_cd

select *

from ec_org_department ec

where ec.levels = '2'

and instr(ec.name,'專項') >0

--and ec.name like '%專項%';

start

with ec.id != '10001'

connect by prior ec.id = ec.parentdepartmentid

Oracle 層次化查詢

create table employees employee id integer constraint employees pk primary key,manager id integer constraint employees fk employees references employe...

Oracle層次化查詢(新)

今天要通過乙個組織機構樹通過得到機構編號向上得到所有的父級機構的使用者列表。怎麼辦,肯定是用層次化查詢了。記得原來的文章裡邊有帖子。黏貼過來。結果發現會報錯 ora 01436 這個是因為父節點和子節點有鏈結上的錯誤,可能會出現迴圈。就是父節點的父節點又鏈結到子節點一樣,有死迴圈 後來沒辦法。最後再...

Oracle層次化查詢學習總結

1.1 概要 2 1.2 節點術語 2 1.3 使用connect by 和 start with子句3 1.4 層次查詢例項 3 1.5 從下向上查詢 4 1.6 從層次查詢中刪除節點和分支5 備註 無法顯示,請到文庫檢視 1.1 概要 我們經常可以見到組織為層次的資料,比如乙個公司的工作的人員就...