oracle中的select语句可以用START WITH…CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:
代码如下:select * from tablename start with cond1
connect by cond2
where cond3;
简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:
id,parentid那么通过表示每一条记录的parent是谁,就可以形成一个树状结构。
用上述语法的查询可
--树形sql查询
WITH TREE AS( --创建一个虚拟表
SELECT * FROM sys_organiz --指定需要查询的表
WHERE organize_code = '100000' -- 指定父节点条件
UNION ALL --联合查询
SELECT sys_organiz.* FROM sys_organiz,TREE
WHERE TREE.organize_code = sys_organiz.organize_parent_code
)
SELECT * F