oracle中简单的树形查询
·
oracle中简单的树形查询
我们经常会用一些表来保存上下级的关系,如地区表,员工表,组织结构表等,为了按上下级递归查询这些数据,就需要用到树形查询,下面以emp表为例:
emp表:
select empno 员工编码,ename as 姓名,mgr as 主管编码,(prior ename) as 主管姓名 from emp start with empno=7566 connect by (prior empno)= mgr;
查询的结果:
我们分析一下这个语句:1.起点,这个语句是以start with empno=7566为起点开始向下递归查询的;
2.通过操作符“prior”可以取得上一级的信息,如上面查询中的主管姓名(prior ename);
3.connect by 用来列出递归的条件(上一级的编码)等于本级的主管编码。
我们来看这个过程,以7566为起点,向下一级就是(7788,7902)。
7788的下一级是7876,7902的下一级是7369。至此,递归查询完成。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)