- 浏览: 128581 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (165)
- 数据库 (45)
- 架构 (0)
- java web前端+框架 (9)
- java web后端+框架 (56)
- Eclipse插件 (1)
- 解题思路 (2)
- Eclipse (2)
- linux (6)
- jquery (4)
- 正则 (3)
- jsp (1)
- javascript (8)
- oracle (39)
- 生活 (1)
- weblogic (5)
- tomcat (3)
- Jrebel (1)
- powerdesigner (1)
- svn (1)
- log4j (1)
- IDE (1)
- POI (2)
- jvm (2)
- ssh (1)
- http (1)
- notepad++ (2)
- 润乾 (1)
- 设计模式 (0)
- 实用类Utils (2)
- 算法 (1)
- xml (1)
- 实用类 (2)
最新评论
select level
,lpad(' ', (level - 1) * 20, ' ') || t.fk_table as node_name --节点名称(带缩进)
,t.fk_name
,t.fk_table
,t.pk_name
,t.pk_table
from (select null as fk_name
,uta.table_name as fk_table
,null as pk_name
,null as pk_table
from user_tables uta
where not exists (select 1
from user_constraints uc
where uc.constraint_type = 'R'
and uc.table_name = uta.table_name)
union all
select a.constraint_name as fk_name
,a.table_name as fk_table
,b.constraint_name as pk_name
,b.table_name as pk_table
from user_constraints a
,user_constraints b
where a.constraint_type = 'R'
and b.constraint_type = 'P'
and a.r_constraint_name = b.constraint_name) t
start with t.pk_table is null
connect by prior t.fk_table = t.pk_table
--
;
从父节点查询子节点
start with t.pk_table is null
connect by prior t.fk_table = t.pk_table
从子节点查询父节点
start with t.fk_table = 'ASSIGN'
connect by prior t.pk_table = t.fk_table
--alias as child and parent
select level
,lpad(' ', (level - 1) * 20, ' ') || t.child_table as node_name --节点名称(带缩进)
-- ,t.node_name
,t.child_table
-- ,t.pk_name
,t.parent_table
from (select null as node_name
,uta.table_name as child_table
,null as pk_name
,null as parent_table
from user_tables uta
where not exists (select 1
from user_constraints uc
where uc.constraint_type = 'R'
and uc.table_name = uta.table_name)
union all
select a.constraint_name as node_name
,a.table_name as child_table
,b.constraint_name as pk_name
,b.table_name as parent_table
from user_constraints a
,user_constraints b
where a.constraint_type = 'R'
and b.constraint_type = 'P'
and a.r_constraint_name = b.constraint_name) t
start with t.parent_table is null
connect by prior t.child_table = t.parent_table
--
;
,lpad(' ', (level - 1) * 20, ' ') || t.fk_table as node_name --节点名称(带缩进)
,t.fk_name
,t.fk_table
,t.pk_name
,t.pk_table
from (select null as fk_name
,uta.table_name as fk_table
,null as pk_name
,null as pk_table
from user_tables uta
where not exists (select 1
from user_constraints uc
where uc.constraint_type = 'R'
and uc.table_name = uta.table_name)
union all
select a.constraint_name as fk_name
,a.table_name as fk_table
,b.constraint_name as pk_name
,b.table_name as pk_table
from user_constraints a
,user_constraints b
where a.constraint_type = 'R'
and b.constraint_type = 'P'
and a.r_constraint_name = b.constraint_name) t
start with t.pk_table is null
connect by prior t.fk_table = t.pk_table
--
;
从父节点查询子节点
start with t.pk_table is null
connect by prior t.fk_table = t.pk_table
从子节点查询父节点
start with t.fk_table = 'ASSIGN'
connect by prior t.pk_table = t.fk_table
--alias as child and parent
select level
,lpad(' ', (level - 1) * 20, ' ') || t.child_table as node_name --节点名称(带缩进)
-- ,t.node_name
,t.child_table
-- ,t.pk_name
,t.parent_table
from (select null as node_name
,uta.table_name as child_table
,null as pk_name
,null as parent_table
from user_tables uta
where not exists (select 1
from user_constraints uc
where uc.constraint_type = 'R'
and uc.table_name = uta.table_name)
union all
select a.constraint_name as node_name
,a.table_name as child_table
,b.constraint_name as pk_name
,b.table_name as parent_table
from user_constraints a
,user_constraints b
where a.constraint_type = 'R'
and b.constraint_type = 'P'
and a.r_constraint_name = b.constraint_name) t
start with t.parent_table is null
connect by prior t.child_table = t.parent_table
--
;
发表评论
-
oracle sql替换指定范围的字符串
2015-06-18 17:49 1070--oracle替换指定范围的字符串(范围4-6) selec ... -
oracle字符集修改 中文乱码
2015-03-30 15:06 939sqlplus / as sysdba;//操作系统用户认证模 ... -
转:ORACLE表空间管理维护
2015-03-27 11:25 527ORACLE表空间管理维护 2013-11-11 23:2 ... -
转:oracle层次查询 树查询 (详细)
2015-03-20 15:03 862oracle层次查询 转自:http://www.2cto. ... -
oracle树查询(叶子、带缩进)
2015-03-17 09:46 1305select t.func_id as func_id --I ... -
ORACLE表空间管理维护
2015-01-22 11:34 436http://www.cnblogs.com/kerrycod ... -
自写函数用于替换wm_concat函数.zip
2015-01-19 16:25 1211-- wm_concat出现在oracle10g版本中,不仅是 ... -
禁用启用所有外键约束.tst
2015-01-12 11:05 585禁用所有外键约束.tst declare cursor c ... -
oracle查询生成列别名
2015-01-06 15:00 433select ',' ,col.COLUMN_NA ... -
linux下重启oracle
2015-01-05 15:44 532oracle/oracle连接ssh后 登录数据库 ... -
分页帮助类-oracle-java
2014-10-09 17:46 456/** * 分页帮助类 * * @author ver ... -
Oracle 列转行函数 Listagg()
2014-09-25 13:54 495Oracle 列转行函数 Listagg() 博客分类: O ... -
oracle删除重复记录
2014-08-22 15:49 354delete from cred_account ca1 w ... -
oracle获取过程的错误异常代码,错误,异常栈信息
2014-08-22 15:19 317得到oracle异常行号,代码,异常栈信息 Sql代码 d ... -
数据库导入导出dump.txt
2014-07-28 10:26 448数据库导入导出dump -
Oracle分组分段统计-sum+case when+group by使用实例
2014-06-13 09:30 1440实例演示: (1)查询表users中的数据。 ... -
oracle表空间管理
2014-04-24 11:15 716--查看修改ORACLE表空间 --1、查看所有表空间信息 s ... -
连接到sqlplus
2014-04-17 11:25 453root/passwd su - oracle sqlplus ... -
0001-Oracle-系统-视图
2014-03-29 09:59 457--oracle树查询 select * from FUNC ... -
ORACLE查看并修改最大连接数
2014-03-26 13:52 553ORACLE查看并修改最大连接数 第一步,在cmd命令行,输入 ...
相关推荐
Oracle树查询是数据库管理中处理层次结构数据的重要技术,它主要依赖于`SELECT...START WITH...CONNECT BY...PRIOR`的语法。这个语法允许我们按照树的结构来组织和检索数据,尤其适用于表示组织结构、目录层级或者...
在Oracle数据库中,将查询结果转化为树状结构是一项高级而实用的技能,尤其适用于处理具有层级关系的数据,如产品分类、组织架构等。本篇将深入解析如何利用Oracle的特定功能,实现数据的树状展示。 ### 核心概念:...
### Oracle复杂查询语句的使用 ...总结来说,Oracle中的复杂查询语句是处理多表关联、多层次数据的有效工具。通过对连接查询、嵌套查询和递归查询的理解与运用,可以大大提高数据处理的能力和效率。
自连接是一种特殊的连接方式,它允许一个表与自身进行连接,通常用于分析具有层级关系的数据,如组织结构或家庭树。例如,找出所有有直接上级的员工: ```sql SELECT e1.employee_id, e1.last_name, e2.last_name ...
在多表嵌套查询中,可能涉及JOIN操作,例如INNER JOIN、LEFT JOIN或RIGHT JOIN,以及子查询来获取层级关系。例如,假设我们有两张表:Department(部门)和Employee(员工),Department有父部门ID(ParentDeptID)...
在数据库操作中,连接查询用于合并两个或更多表的数据,根据它们之间的关联来获取所需的结果。主要有内连接(INNER JOIN)、外连接(LEFT JOIN、RIGHT JOIN、FULL JOIN)和自连接等类型。内连接返回两个表中匹配的行...
在层级查询中,`LEVEL` 是一个伪列,用于表示数据在层级结构中的深度。`SELECT` 语句中包含 `level` 列,可以展示每个员工在其层级中的位置。例如,`WHERE level 可以限制只返回前两层的员工,这对于快速查看高层...
在本例中,"oracle树形结构"可能指的是利用Oracle数据库存储和查询树形结构数据的方法。这可能涉及到创建适当的表结构,定义父子节点关系的字段,以及编写查询语句来获取层级数据。查询可能包括查找特定节点的所有子...
总的来说,Oracle的`START WITH...CONNECT BY`语法提供了一种强大而灵活的方式来处理树形数据,使得我们能够轻松地查询和展示具有层级关系的数据。理解和熟练掌握这些概念,对于处理复杂的组织结构或者其他层次数据...
递归查询允许用户执行多级关联查询,特别适用于处理具有层次结构的数据,例如组织结构图、文件系统目录等。本文将通过一个具体的例子来详细介绍如何在 Oracle 中实现递归查询。 #### 二、基础知识回顾 在深入讨论...
` 这两行代码切换到"EMP"数据块并执行查询,这样用户就能看到与选定树节点关联的详细信息。 5. 其他相关知识点: - `Find_Item` 函数:用于查找表单中的项(Item)。 - `Ftree` 是Oracle Forms提供的树形控件的...
- **MGR**:该雇员经理人的编号,类型为`NUMBER(4)`,通过与`EMPNO`字段关联,形成了雇员间的层级关系。 - **HIREDATE**:入职时间,类型为`DATE`,记录了雇员加入公司的具体日期。 - **SAL**:薪水,类型为`NUMBER...
Oracle数据库中的级联查询、级联删除和级联更新是数据库设计中常用的操作,它们用于在多表关联的关系型数据库中实现数据的联动处理。在Oracle中,这些操作主要涉及外键约束和触发器。 首先,级联查询是通过自连接来...
本资料"oracle-tree-sql.rar_oracle"主要探讨的就是如何在Oracle中使用SQL查询树形结构数据。 一、Oracle树结构查询基础 1.1 连接查询(Connect By) Oracle的Connect By子句是处理层次数据的核心工具。它允许...
3. **关联表**:根据字段建立表之间的关联,具体关联为: - `B2.EMPLOYEE_KEY=B4.ANCESTOR_KEY` - `B4.MEMBER_KEY=B6.EMPL_KEY` 4. **业务模型与映射**:将`B6`(即事实表)拖拽到业务模型和映射中,并修改度量...
此外,对于这种层级数据,还可以利用树形遍历算法(如预序遍历、中序遍历或后序遍历)进行处理,或者使用层次查询技巧,如`CONNECT BY`(在某些数据库系统如Oracle中可用)。但请注意,MySQL不直接支持`CONNECT BY`...
Oracle数据库中的层次查询(Hierarchical Queries)是一种强大的功能,它扩展了标准SQL语言,使得能够高效地处理具有层级关系的数据。这种查询方式尤其适用于处理树形结构的数据,例如组织架构、文件目录等。 首先...
当我们谈论“树形查询带记录数量”时,我们指的是在数据库查询过程中,不仅获取数据的层级结构,同时也计算并显示每个层级节点下的记录总数。这种查询方式在组织层次结构数据时非常有用,例如组织结构、产品分类、...
Oracle提供了CONNECT BY子句,它允许我们在一个查询中多次引用同一张表,从而实现层级数据的遍历。通过指定START WITH条件来定义树的根节点,然后使用CONNECT BY表达式来定义节点之间的连接规则。例如,如果我们有一...
在数据库设计中,递归查询是一种处理层级关系数据的关键技术,尤其在存在多级关联的数据结构时显得尤为重要。本文将深入探讨如何通过递归查询来解决这类问题,并着重讲解使用`WITH`语句来实现递归查询的方法,适用...