oracle 樹形查詢

2021-08-28 07:00:13 字數 1528 閱讀 5598

--1.1 簡單的樹形查詢

select empno as 員工編碼,

ename as 姓名,

mgr   as 主管,

(prior ename) as 主管姓名

--1.2 根節點,分支節點,葉節點

level:返回所在的等級;

connect_by_isleaf:如果當前節點下沒有其他節點返回1,其他返回0。

select lpad('-',(level-1)*2,' -')|| empno as 員工編碼,

ename as 姓名,

mgr   as 主管編碼,

level as 級別,

decode(level,1,1) as 根節點,

decode(connect_by_isleaf,1,1) as 葉子節點,

case when (connect_by_isleaf=0 and level>1) then 1 end as 分支節點

sys_connect_by_path :為了方便的顯示其路徑

select empno as 員工編碼,

ename as 姓名,

mgr   as 主管,

--1.4 樹形查詢中的排序

select lpad('-',(level-1)*2,' -')|| empno as 員工編碼,

ename as 姓名,

mgr   as 主管編碼

Oracle樹形查詢

基本語法 select.from tabename start with cond1 connect by prior cond2 where cond2 注 cond1是根節點的限定語句 cond2是連線條件,其中prior表示上一條記錄,指該記錄的父親是上一條記錄 cond3是過濾條件 構造環境...

ORACLE樹形結構查詢

在oracle資料庫查詢中,我們經常會遇到對樹型結構表的查詢,這是個麻煩的問題。下面給大家介紹一種sql語句,實現遞迴查詢。語法如下 select 欄位1,欄位2,欄位3,from 表名 start with 條件1 connect by prior 條件2 where 條件3 下面舉乙個例子,有這...

Oracle查詢樹形結構

oracle中的select語句可以用start with.connect by prior子句實現遞迴查詢,connect by 是結構化查詢中用到的,其基本語法是 select from tablename start with cond1 connect by cond2 where cond...