码迷,mamicode.com
首页 > 数据库 > 详细

Oracle connect by

时间:2014-10-29 12:34:54      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:style   sp   on   bs   amp   ad   算法   as   oracle   

level1 level2 level3
记录1 记录1 记录1
记录2
记录3
记录2 记录1
记录2
记录3
记录3 记录1
记录2
记录3
记录2 记录1 记录1
记录2
记录3
记录2 记录1
记录2
记录3
记录3 记录1
记录2
记录3
记录3 记录1 记录1
记录2
记录3
记录2 记录1
记录2
记录3
记录3 记录1
记录2
记录3
select * from table connect by level <= N;
connect by 当连接条件不能限制记录之间的关系时,每一条记录都可以作为自己或者其他记录的叶子。(这就是Oracle采用了深度优先的算法)
所以得到的记录总数为:
conut(level1) + count(level2) + count(level3);
sample: select * from table connect by level <= 10;(table中有10条记录)
       得到的记录数:10+ 10 *10 + 10 * 10 * 10 = 1110

Oracle connect by

标签:style   sp   on   bs   amp   ad   算法   as   oracle   

原文地址:http://www.cnblogs.com/Uncho/p/4058789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!