• Oracle start with connect by prior 用法


    Oracle start with connect by prior 用法 
      
    语法: select * from 表名 where 条件1 start with 条件2 connect by prior 当前表字段=级联表字段 start with与connect by prior语句完成递归记录,形成一棵树形结构,通常可以在具有层次结构的表中使用。 start with表示开始的记录 connect by prior 指定与当前记录关联时的字段关系代码: 
    --创建部门表,这是一个具有层次结构的表,子记录通过parent_id与父记录的id进行关联 create table DEPT( ID NUMBER(9) PRIMARY KEY, --部门ID NAME VARCHAR2(100), 
    --部门名称 PARENT_ID NUMBER(9) 
    --父级部门ID,通过此字段与上级部门关联 ); 向表中插入如下数据,为了使代码简单,一个部门仅具有一个下级部门
    ●从根节点开始查询递归的记录 select * from dept start with id=1 connect by prior id = parent_id; 下面是查询结果,start with id=1表示从id=1的记录开始查询,向叶子的方向递归,递归条件是id=parent_id,当前记录的id等于子记录的parent_id 
    ●从叶子节点开始查询递归的记录 select * from dept start with id=5 connect by prior parent_id = id; 
    下面是查询结果,递归条件按照当前记录的parent_id等与父记录的id 
    ●对查询结果过滤 select * from dept where name like '%销售%' start with id=1 connect by prior id = parent_id; 在下面的查询结果中可以看到,首先使用start with... connect by prior查询出树形的结构,然后where条件才生效,对全部查询结果进行过滤 
    ●prior的作用 prior关键字表示不进行递归查询,仅查询出满足id=1的记录,下面是将第一个查询去掉prior关键字后结果 select * from dept start with id=1 connect by prior id = parent_id;
  • 相关阅读:
    JS判断鼠标从什么方向进入一个容器
    [JS进阶] 编写可维护性代码 (1)
    CSS3 animation小动画
    如何使用js捕获css3动画
    webpack入门(译)
    js拖拽3D立方体旋转
    简单3D翻转
    html 基础
    python 并发编程
    python 网络编程
  • 原文地址:https://www.cnblogs.com/weijueye/p/4074096.html
Copyright © 2020-2023  润新知