level1level2level3…记录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
转载于:https://www.cnblogs.com/Uncho/p/4058789.html
转载请注明原文地址: https://mac.8miu.com/read-58802.html