oracle怎么处理父子关系(递归查询因子化)

昨天我设计了一个Oracle的表,表中有父子关系,比如hr用户下的employees表中的employee_id和manage_id这两个列就是父子关系,当开发人员在进行开发的时候向我抱怨说当需要一个查询一天记录所有的子记录的时候需要循环多次才能读出所有数据。其实在Oracle在很久之前就使用connect by来专门处理这样的父子查询,到Oracle 11g R2 connect by的功能还有增强。下面我通过Oracle hr用户下employees和department表来展示Oracle是怎么处理父子关系的。

先看看employees表和departments表的表结构:



employees表中employee_id和manager_id这两列就具备父子关系,我们先通过下面的语句查询员工的部门名称和manager的名称:

select e.employee_id,
       e.first_name || ' ' || e.last_name emp_name,
       e.department_id,
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值