Oracle 11g Release 1 (11.1) SQL_层级查询(概)

2014-11-24 18:53:56 · 作者: · 浏览: 0

演示层级查询


了解层级查询的意义在于,可以省去程序的递归代码。写递归总是很烦人。


EMP 表


示例 1:演示员工编号为 7566 的员工及其所有下属。


演示员工编号为 7566 的员工及其所有下属。


示例 2:演示员工编号为 7566 的所有下属。


演示员工编号为 7566 的所有下属。


示例 3:演示员工编号为 7876 员工及其所有上级。


演示员工编号为 7876 员工及其所有上级。


从上面演示可以看出,层级查询既可以“向下”查询,也可以“向上”查询,类似“递归”。


start with t.empno = 7566 指定根节点;而 connect by prior t.empno = t.mgr 指定节点的关系,上级编号等于当前的员工编号。


start with t.empno = 7876 指定根节点;而 connect by prior t.mgr = t.empno 指定节点的关系。员工编号等于当前员工的上级编号。