论坛首页 综合技术论坛

ORACLE里面的递归SQL语句

浏览 2748 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-20  
首先是需要对表做一个规划,即必须有自己的ID和ID对应这条记录的PID(父ID)。
简单的数据结构如下
id    pid
1      0 
2      0 
3      1 
4      1 
5      2 
6      2 
7      3 
8      4 
9      5 
比如你现在需要取出ID是1的以及其下所有的记录,如:
id pid 
1  0 
3  1 
4  1 
7  3 
8  4

查询语句如下:
假如表名叫test
select * from TEST
start with id=1
connect by prior id = pid
order by id asc

如果有条件语句,比如where or when,其语句放在
start with前面。OK。
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics