首页 > 代码库 > Oracle connect by
Oracle connect by
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。