Oracle 树状查询
来源:互联网 发布:java 写入html 编辑:程序博客网 时间:2024/05/17 08:29
远程连接Oracle10g数据库
Oracle 横表和纵表
Oracle 树状查询
筱米加步枪 posted @ 2010年8月18日 23:01 in [ 数据库 ] with tags oracle 树状, 950 阅读
在实际应用中,经常利用数据库保存树状结构的数据,通常用一张表中的两个字段表示,一个是自身的ID,一个是保存父类的ID。在这样具有这种关系中的数据,要求查出的数据具有我们想要的树状显示。这里需要引入Oracle的一个查询语句。
1
2
3
4
Select
*
from
tablename
start
with
[condition1]
Connect
By
Prior
[condition2]
where
[condition3]
condition1 通常是用于筛选某颗树或者多颗树的结点,这里所的树包括子树,
condtion2 通常是用于连接父结点和子结点的关系,prior 所表示的是上一条记录,通常用法:prior id = pid,(上一条的的ID号是本条记录的父类ID号)这样就把整个树状结构给建立起来了。
conditon3 就是我们通常的where语句,过滤某些记录。
现在看下具体例子。
其中Test_ID 表示本身的ID,Test_PID表示父类的ID
这边记录的描述成树状结构就是如下:
现在,假设我们查询的福州以及福州下的所有子东西,就可以这样查询,
只要取福州的根结点就可以,福州的根结点翻译成数据库中存的数据就是 test_id =1
因此得到的sql如下:
1
2
3
Select
*
From
Test_ t
Start
With
Test_Id = 1
Connect
By
Prior
Test_Id = Test_Pid
查询结果:
用结构图表示就是如下信息:
因此想要查询某些信息,只要抓住根结点的条件就可以。。Over~~
- 【Oracle】树状结构查询
- Oracle树状数据查询
- Oracle 树状查询
- oracle 树状查询
- oracle 树状查询
- oracle 树状查询
- 【Oracle】树状结构查询
- oracle 树状查询
- Oracle中的树状查询(递归查询)
- oracle 树状查询,查询根节点
- 浅谈oracle树状结构层级查询
- Oracle中使用connect by 来实现树状查询
- oracle数据库树状或者层次结果集的查询
- MYSQL树状查询
- [层次结构|树状结构] oracle中用start with...connect by prior子句实现递归查询
- oracle之树状结构的存储与展示(递归查询)
- 使用oracle 9i 里的层级查询(Hierarchical Queries)实现树状表结构的递归数据查询
- MySql的递归树状查询
- php删除数组指定元素
- code review experience
- tomcat 编码问题
- 今日事
- Nginx配置文件nginx.conf中文详解
- Oracle 树状查询
- solr Highlighter (高亮)显示分析
- numpy中的ndarray对象
- 【太恐怖了】如何让QQ流氓不再扫描你的电脑 ?爬墙必备知识
- 从M个数中随机选出N个数的所有组合,无序,(一)
- LeetCode- Word Ladder
- 在javascript中获得一个对象的所有方法
- iOS 动画总结----UIView动画
- 解决因IP变更引起的oracle数据库连接异常“ORA-12541:TNS:无监听程序”