1.注意比较两个语句的区别
--查找某个管理者下的员工,根据找到的empno展开
SELECT *
FROM SCOTT.EMP
START WITH mgr = 7566
connect BY PRIOR empno =mgr
--根据找到的mgr展开--和下面的语句结果一样
SELECT *
FROM SCOTT.EMP
START WITH mgr = 7566
connect BY empno =PRIOR mgr
SELECT *
FROM SCOTT.EMP
START WITH mgr = 7566
connect BY PRIOR mgr = empno
2.继续理解
--把找到的empno当做mgr继续查找(empno)
SELECT t.*,LEVEL
FROM SCOTT.EMP t
START WITH mgr = 7566
connect BY PRIOR empno =mgr
-- 把找到的mrg当做empno继续查找(mgr)
SELECT t.*,LEVEL
FROM SCOTT.EMP t
START WITH mgr = 7566
connect BY PRIOR mgr =empno
3.oracle文档相关资料
START WITH specifies the root row(s) of the hierarchy.
CONNECT BY specifies the relationship between parent rows and child rows of the hierarchy.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/queries003.htm#i2060615
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/queries003.htm#sthref3132
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/operators004.htm#sthref871