码迷,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
迷上了代码!