(出处:http://blog.csdn.net/chiclewu/article/details/15027245)
如果表中包含层级数据,那么你就可以使用层级查询从句选择行层级顺序。
1.层级查询从句语法
层级查询从句语法:
{ CONNECT BY [ NOCYCLE ] condition [AND condition]... [ START WITH condition ]
| START WITH condition CONNECT BY [ NOCYCLE ] condition [AND condition]...
}
START WITH:指定层级的跟节点行。
CONNECT BY:指定层级的父行于子行的关系。
NOCYCLE参数指示Oracle数据库查询返回行,即使CONNECT BY在数据中存在循环。通常与CONNECT_BY_ISCYCLE伪列一起使用查看行是否包含循环。
在层级查询中,表达式的条件必须使用PRIOR运算符加以限定来查询父行,例如:
... PRIOR expr = expr
or
... expr = PRIOR expr
如果CONNECT BY的条件是复合条件,只有一个条件PRIOR运算符是必须的,然而可以有多个PRIOR条件。例如:
CONNECT BY last_name != 'King' AND PRIOR employee_id = manager_id ...
CONNECT BY PRIOR employee_id = manager_id and
PRIOR account_mgr_id = customer