加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oralce中查询某个机构号及其下属机构号,这样的树形数据查询问题

发布时间:2020-12-12 14:54:41 所属栏目:百科 来源:网络整理
导读:Oracle中使用connect by prior递归算法可以解决这类问题 语法: select .... from tablename start with 条件1 connect by 条件2 where 条件3 例如: select * from table start with branch_id = "B00000" connect by prior branch_id = parent_branch_id;

Oracle中使用connect by prior递归算法可以解决这类问题

语法:

select .... from tablename start with 条件1 connect by 条件2 where 条件3
例如: select * from table start with branch_id = "B00000" connect by prior branch_id = parent_branch_id; 说明: 1. 条件1是根节点的限定语句,可以放宽条件,取得多个根节点,实际上就是多个树 条件2是连接条件,其中prior表示上一条记录,像例子中的 上一条记录的branch_id是本记录的parent_branch_id 条件3是过滤条件 2. connect by 说明每行数据将按层次顺序检索,priory 运算符必须放置在连接关系的两列中的某一个的前面,对于节点间的父子关系,prior运算符在一侧表示父节点,在另一侧表示子节点,从而确定查找树结构是自顶向下还是自底向上 3. 关于prior具体使用,prior 在connect by 字句等号的后面,则强制从叶节点到根节点的顺序检索,如果在connect by 字句的前面,像举的例子一样,就是从根节点查所有的子节点。 4. 在树结构查询的时候,可以使用where 过滤节点,order by排序

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读