争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

ORACLE树结构查询--connect by语法详

时间:2024/4/10作者:未知来源:争怎路由网人气:

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

CONNECT BY 语法置信自己能够从网上找到许多例子,在这里就不多说了。来描绘一下我碰到的问题。

表(fnd_flex_value)中的数据是这样的:

TYPE_ID    PARENT_VALUE   CHILD_VALUE

139048      2701                      270101

139048      270101                27010101

139058      2701                       270101

139058      270101                   27010101

施行如下语句:

select * from fnd_flex_value ffv

where type_id=139048

start with child_value=270101

connect by prior child_value=ffv.parent_value;

施行后果为:

TYPE_ID    PARENT_VALUE   CHILD_VALUE

139048      2701                      270101

139048      270101                  27010101

139048      270101                  27010101

最初一条记载重复了两次,咱们想获得的后果应当只需前两条,那么第三条是怎么获得的呢,经由钻研,集体觉得能够是因为如下的缘由(假如不准确,请自己改正,呵呵):

在这段SQL的施行的时分,先施行了CONNECT BY,G最初才施行WHERE前提。

那么轮回获得的后果为:

第一次轮回(从start with child_value=2701)末尾找数据:

(1.1) 139048   2701 270101

(1.2) 139058   2701 270101

第二次轮回(从(1.1)末尾找数据:

(2.1) 139048   270101 27010101

(2.2) 139058   270101 27010101

第三轮回(从(1.2)末尾)找数据:

(3.1) 139048 270101   27010101

(3.2) 139058 270101   27010101

退出轮回,最初施行where type_id=139048

获得三条记载。

假如想获得准确的后果,SQL语句应改为

select * from

(select * from fnd_flex_value where type_id=139048)ffv

start with child_value=270101

connect by prior child_value=ffv.parent_value;

=====================================================================

connect by 是结构化查询顶用到的,其基本语法是:

select ... from tablename

where 前提3

start with 前提1

connect by 前提2;

例:

select * from table

start with org_id = 'HBHqfWGWPy'

connect by prior org_id = parent_id;

简单说来是将一个树状结构存储在一张表里,好比一个表中具备两个字段:

org_id,parent_id那么通过表现每一条记载的parent是谁,就能够构成一个树状结构。

用上述语法的查询能够取得这棵树的所有记载。


全新的路由器不仅让你更稳定快速地连接无线网络,更可以让家中的智能设备连接在一起。



关键词:ORACLE树结构查询--connect by语法详




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版