START WITH...CONNECT BY 学习!

来源:互联网 发布:平面设计相关软件 编辑:程序博客网 时间:2024/05/17 04:12

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

 

 

原创粉丝点击