易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 中的树查询和 connect by


Oracle 中的树查询和 connect by
使用 connect by 和 start with 来建立类似于树的报表并不难,只要遵循以下基本原则即可:
使用 connect by 时各子句的顺序应为:
select
from
where
start with
connect by
order by
prior 使报表的顺序为从根到叶(如果 prior 列是父辈)或从叶到根(如果 prior 列是后代)。
where 子句可以从树中排除个体,但不排除它们的子孙(或者祖先,如果 prior 列是后代)。
connect by 中的条件(尤其是不等于)消除个体和它所有的子孙(或祖先,依赖于怎样跟踪树)。
connect by 不能与 where 子句中的表连接在一起使用。
 
下面是几个例子
1. 从根到叶遍历
SELECT n_parendid, n_name, (LEVEL - 1), n_id
from navigation
WHERE n_parendid IS NOT NULL
START WITH n_id = 0
CONNECT BY n_parendid = PRIOR n_id;
2. 从叶到根遍历
SELECT n_parendid, n_name, (LEVEL - 1), n_id
from navigation
WHERE n_parendid IS NOT NULL
START WITH n_id = 300
CONNECT BY n_id = PRIOR n_parendid;
3. 排除个体,但不排除它们的子孙
SELECT n_parendid, n_name, (LEVEL - 1), n_id
from navigation
WHERE n_parendid IS NOT NULL AND n_id != 2
START WITH n_id = 0
CONNECT BY n_parendid = PRIOR n_id;
4. 消除个体和它所有的子孙
SELECT n_parendid, n_name, (LEVEL - 1), n_id
from navigation
WHERE n_parendid IS NOT NULL
START WITH n_id = 0
CONNECT BY n_parendid = PRIOR n_id AND n_id != 2;
5. 改变显示顺序
SELECT n_parendid, n_name, (LEVEL - 1), n_id
from navigation
WHERE n_parendid IS NOT NULL
START WITH n_id = 0
CONNECT BY n_parendid = PRIOR n_id
ORDER BY n_viewnum DESC; 
本文转自csdn:http://blog.csdn.net/wzy0623/archive/2007/06/18/1656345.aspx


相关文档:

安装Oracle检测linux内核参数

Checking kernel parameters
Checking for semmsl=250; found semmsl=250.    Passed
Checking for semmns=32000; found semmns=32000.    Passed
Checking for semopm=100; found semopm=32.    Failed <<<<
Checking for semmni=128; found semmni=128.&nb ......

Oracle 9i中的XMLTYPE应用学习

oracle从9i开始支持一种新的数据类型---- xmltype,用于存储和管理xml数据,并提供了很多的functions,用来直接读取xml文档和管理节点。下面将介绍xmltype的一些基本使用。
1.建立含有xmltype数据类型的表
create table abc (id number,xmldoc sys.xmltype);
声明xmltype型字段用:sys.xmltype
2.向带有xmltype类型的表 ......

Oracle用户角色权限管理

(一)什么叫用户(user):
A user is a name defined in the database that can connect to and access objects.
用户是用连接数据库和访问数据库对象的。(用户是用来连接数据库访问数据库)。
(二)什么叫模式(schema):
A schema is a collection of database objects (used by a user.).
Schema objects are th ......

关于oracle随机

17:00:59 SQL> desc dbms_random;
Element    Type     
---------- ---------
SEED       PROCEDURE
VALUE      FUNCTION
NORMAL     FUNCTION
STRING     FUNCT ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号