ORACLE数据库的级联查询
Posted wenxuechaozhe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE数据库的级联查询相关的知识,希望对你有一定的参考价值。
背景描述
存在一张表信息如下:
title | father |
---|---|
水果 | top |
苹果 | 水果 |
荔枝 | 水果 |
香蕉 | 水果 |
电器 | top |
冰箱 | 电器 |
洗衣机 | 电器 |
电视 | 电器 |
西瓜 | 水果 |
数据库存储的数据为无序的,需求描述为按照水果--属于水果的二级--电器--数据电器的二级方式进行数据排序
解决方案
SQL > select * from wen start with father='top' connect by prior title=father;
查询输出结果
水果 top
苹果 水果
荔枝 水果
西瓜 水果
香蕉 水果
电器 top
冰箱 电器
洗衣机 电器
电视 电器
SQL解析
查询某条数据下是否存在子节点
select * //要查询的字段 from table //具有子接点id和父接点id的表 start with faterid=id数据 //给定一个开始查询的id(字段名为父接点id,以及开始的id数据) connect by prior childid= pid //联接条件为子接点等于父接点 示例如上所示查询某条数据下是否有父节点
select * //要查询的字段 from table //具有子接点id和父接点id的表 start with childid=id数据 //给定一个开始查询的id(字段名为子接点id,以及开始的id数据) connect by prior childid= pid //联接条件为子接点等于父接点示例:
SQL > select * from wen start with title='香蕉' connect by prior title=father;
查询结果如下
香蕉 水果
以上是关于ORACLE数据库的级联查询的主要内容,如果未能解决你的问题,请参考以下文章
oracle语句的级联问题,这个语句e.mgr=m.empno(+) 谁可以给我讲讲这个是啥意思还带有(+)详细解答哦!