注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

让一切都逝去吧

排骨炖泥菜/猪肝炒苹果/鱼籽狗肉汤/狗头薏米汤

 
 
 

日志

 
 

connect by level  

2013-03-11 23:50:13|  分类: 数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
      connect by在表设计为父子层次关系时,可用来进行递归查询。start with可表示开始条件,where语句中可添加结束条件。语法可以是下面两种中的一种。
CONNECT BY [NOCYCLE] <condition> START WITH <condition>
START WITH <condition> CONNECT BY [NOCYCLE] <condition>
      下面的例子说明了怎么使用
SELECT employee_id, last_name, job_id, manager_id  
FROM employees  
START WITH employee_id = 101  
CONNECT BY PRIOR employee_id=manager_id;  
(PRIOR:先前的,优先的;按照先前的employee_id等于本行的manager_id进行递归查询,从上至下)  
EMPLOYEE_ID LAST_NAME                 JOB_ID                 MANAGER_ID  
-----------     -------------------------        ------------------------------          ----------  
        101 Kochhar                     AD_VP                               100  
        108 Greenberg                 FI_MGR                             101  
        109 Faviet                         FI_ACCOUNT                    108  
        110 Chen                          FI_ACCOUNT                    108  
        111 Sciarra                       FI_ACCOUNT                    108  
        112 Urman                        FI_ACCOUNT                    108  
        113 Popp                          FI_ACCOUNT                    108  
        200 Whalen                      AD_ASST                           101  
        203 Mavris                       HR_REP                              101  
        204 Baer                          PR_REP                              101  
        205 Higgins                     AC_MGR                              101  
        206 Gietz                         AC_ACCOUNT                     205  
  
12 rows selected.  

SELECT employee_id, last_name, job_id, manager_id  
FROM employees  
START WITH employee_id = 101  
CONNECT BY employee_id= PRIOR manager_id;  
(把先前的manager_id(employee_id = 101)作为当前的employee_id,从下至上)  
EMPLOYEE_ID LAST_NAME                 JOB_ID                 MANAGER_ID  
-----------     -------------------------         ------------------------------         ----------  
        101 Kochhar                   AD_VP                         100  
        100 King                      AD_PRES  
  
      还有level关键字,表示当前是那个查询层次。如上面第一个例子,加上level的话结果就是:
EMPLOYEE_ID LAST_NAME                 JOB_ID                 MANAGER_ID           LEVEL
-----------     -------------------------        ------------------------------          ----------  
        101 Kochhar                     AD_VP                               100                           1
        108 Greenberg                 FI_MGR                             101                            2
        109 Faviet                         FI_ACCOUNT                    108                           3
        110 Chen                          FI_ACCOUNT                    108                           3
        111 Sciarra                       FI_ACCOUNT                    108                           3 
        112 Urman                        FI_ACCOUNT                    108                           3
        113 Popp                          FI_ACCOUNT                    108                           3
        200 Whalen                      AD_ASST                           101                          2
        203 Mavris                       HR_REP                              101                          2
        204 Baer                          PR_REP                              101                          2
        205 Higgins                     AC_MGR                              101                          2
        206 Gietz                         AC_ACCOUNT                     205                          3
  评论这张
 
阅读(889)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018