oracle的层次结构,ORACLE中的层次结构查询

ORACLE中的层次结构查询

层次结构在现实生活中是很常见的,因此早期的数据库是层次数据库,如实的反映了这种关系。后来层次数据库被证实是非常笨重的,因此关系数据库取得了成功。但是层次结构依然存在,而在关系数据库中层次并不能得到很好的体现。ORACLE提供了强大的层次结构查询来解决这个问题。

一、 固定和可变层数

层次结构关系大致可分为两种。

一种是层级固定,例如美国分为各个州,州下分县,县下又分镇区和城市。这种情况如果在一张表中用递归来实现并不是很好的选择,将其保存在主从结构的三张表中更容易查询和操作。

另一种是层级可变。如图所示的组件清单:

0818b9ca8b590ca3270a3433284dd417.png

可构造层次表如下:

0818b9ca8b590ca3270a3433284dd417.png

二、 ORACLE的层次查询

ORACLE提供了SELECT查询语句的START WITH和CONNECT BY子句,来实现层次查询。要进行层次查询,必须明了两件事情:识别根记录的条件和子记录中指向其父亲的列名。

看我们的例子,parent_assembly列决定该记录的父亲。由于根记录Airplane没有父亲,因此列parent_assembly为空&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值