比如有這樣的需求共同學習,現(xiàn)在要裁員順滑地配合,將某個(gè)部門的員工包括經(jīng)理全部裁掉,那么可以使用樹形查詢作為子查詢實(shí)現(xiàn)這個(gè)功能無限層次樹形筆記本 問題。將id為2 的員工管理的所有員工包括自己刪除逐漸顯現。因?yàn)橐坎玫袅恕D敲凑Z句如下:
delete from s_emp where id in(
select id from
無限層次樹形筆記本s_emp a
start with id=2 –從id=2的員工開始查找其子節(jié)點(diǎn)系統穩定性,把整棵樹刪除
connect by prior id=manager_id);
5)找出每個(gè)部門的經(jīng)理
無限層次樹形筆記本 這個(gè)需求拓展基地,我們可以從樹中查找,也就是對(duì)于每個(gè)部門選最高等級(jí)節(jié)點(diǎn)實力增強◇w系流動性?梢允褂胏onnect by后加條件過濾branches 的方法。
select level,a.* from
s_emp a
start with manager_id is null
connect by prior id=manager_id and dept_id !=prior dept_id;--當(dāng)前行的dept_id不等于前一行的dept_id帶來全新智能,即每個(gè)子樹中選最高等級(jí)節(jié)點(diǎn)
6)查詢一個(gè)組織中最高的幾個(gè)等級(jí)
用where level條件過濾
select level,a.* from
s_emp a
where level <=2 –查找前兩個(gè)等級(jí)
無限層次樹形筆記本 start with manager_id is null
connect by prior id=manager_id and dept_id !=prior dept_id;
7)合計(jì)層次
有兩個(gè)需求實現了超越,一是對(duì)一個(gè)指定的子樹subtree 做累加計(jì)算salary,一是將每行都作為root節(jié)點(diǎn)去完善,然后對(duì)屬于這個(gè)節(jié)點(diǎn)的所有字節(jié)點(diǎn)累加計(jì)算salary橋梁作用。
第一種很簡單,求下sum就可以了求索,語句:
select sum(salary) from
s_emp a
start with id=2—比如從id=2開始
connect by prior id=manager_id;
第2 個(gè)需求讓人糾結,需要用到第1 個(gè),對(duì)每個(gè)root 節(jié)點(diǎn)求這個(gè)樹的累加值穩定發展,然后內(nèi)部層次查詢的開始節(jié)點(diǎn)從外層查詢獲得基石之一。
select last_name,salary,(
select sum(salary) from
s_emp
start with id=a.id --讓每個(gè)節(jié)點(diǎn)都成為root
connect by prior id=manager_id) sumsalary
from s_emp a;
文章地址:http://www.61py.com/article/other/sczs.html

- 1通王CMS 2.0簡介
- 2黑帽網(wǎng)站排名檢測(cè)
- 3MySQL中經(jīng)典的too many connection怎么破
- 4網(wǎng)易郵箱洪陸駕:反垃圾郵件需集合全球力量
- 5站群友鏈換鏈神器
- 6云勢(shì)軟件VirgoEDC助力安徽萬邦共同努力、迪時(shí)咨詢等公司臨床試驗(yàn)數(shù)據(jù)采集智能化
- 7Authorize 屬性通過聲明的方式保護(hù)控制器或其部分方法
- 8域名是稀有資源,好的域名服務,在一定時(shí)期內(nèi)會(huì)越來越升值
- 9解析常見的PHP緩存技術(shù)有哪些
- 10對(duì)ASP.NET程序員非常有用工具