一些不常用sql的总结

oracle 递归查询

 

首先是需要对表做一个规划,即必须有自己的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

你可能感兴趣的:(数据结构,oracle,sql)