最近研究了一下Oracle的层次化查询,可以在一些需要树状图的场景中使用。
先查看表格数据:select * from more_employees
层次化查询(效果还不是很明显)
select level,employee_id,manager_id,first_name,last_name
from more_employees
start with employee_id=1
connect by prior employee_id=manager_id
这次效果明显了(查看employee_id为1的员工和他以下的员工)
select level,lpad(' ',10*level-10)||first_name||' '||last_name as employee
,employee_id from more_employees
start with employee_id=1
connect by prior employee_id=manager_id
这次效果明显了(查看employee_id为4的员工和他以下的员工)
select level,lpad(' ',10*level-10)||first_name||' '||last_name as employee
,employee_id from more_employees
start with employee_id=4
connect by prior employee_id=manager_id