- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用标准文档
文案大全
TOC \o 1-3 \h \z \u 13165 1. connect by 用法总结 2
15282 一、树查询(递归查询) 2
8826 二、列转行sys_connect_by_path() 4
14282 2.分析函数总结 6
397 1.分析函数(OVER) 7
4895 2.分析函数2(Rank, Dense_rank, row_number) 9
11789 3.分析函数3(Top/Bottom N、First/Last、NTile) 9
22982 4.窗口函数 11
24255 5.报表函数 14
connect by 用法总结
一、树查询(递归查询)
作用
对于oracle进行简单树查询(递归查询)
列转行
2.基本语法
select ... from TableName? where Conditional-1 Conditional-1:过滤条件,用于对返回的所有记录进行过滤。 start with Conditional-2 Conditional-2:查询结果重起始根结点的限定条件。 connect by Conditional-3; Conditional-3:连接条件
1)例子:
select num1,num2?
from table
start with num2 = 1008?
connect by ?num2 = prior num1?;
2)解释:
start with:用来标识哪个节点作为查找树型结构的根节点。若该子句被省略,则表示所有满足查询条件的行作为根节点。
prior: 位置很重要(自我总结,和父在一起 则自底向上,即查父 和子在一起 则自顶向下 查子)
例子
原始数据 num1 为父 num2 为子
看下面的图 1. CONNECT_BY_ROOT 返回当前节点的最顶端节点。2. CONNECT_BY_ISLEAF 判断是否为叶子节点,是1,不是0。
3. LEVEL 伪列表示节点深度。4. SYS_CONNECT_BY_PATH函数显示详细路径,并用“/”分隔。
二、列转行 sys_connect_by_path()
这个函数使用之前必须先建立一个树,否则无用
sys_connect_by_path(字段名, 2个字段之间的连接符号)
with?tmp_a as (select 1 a,0 p from dualunion all?select 2,1 from dualunion all?select 3,1 from dualunion all?select 4,3 from dualunion all?select 5,2 from dualunion all?select 6,5 from dual)-- 子全部显示 根--子?? level代表级别select a,p,sys_connect_by_path(a,--),level from tmp_astart with a = 1connect by p = prior a-- 2和2的所有下级去掉 根--子 (开始就要去掉)select a,p,sys_connect_by_path(a,--) from tmp_astart with p = 1 and a 2connect by p = prior a
-- 2的所有下级都去掉 根--子 (connect 时去掉)select a,p,sys_connect_by_path(a,--) from tmp_astart with a = 1connect by p = prior a and p 2 --去掉2的分枝
-- 2的下一级去掉 根--子 (where 中去掉)select a,p,sys_connect_by_path(a,--) from tmp_awhere p 2 start with a = 1connect by p = prior a
--显示最长的 根--子with?tmp_tab as (select 中国 s,null b from dual?union all?select 广东 s,中国 b from dual?union all?select 湖南 s,中国 b from dual?union all?select 衡阳 s,湖南 b from dual?union all?select 广州 s,广东 b from dual?union all?select 衡东 s,衡阳 b from dual?
您可能关注的文档
最近下载
- 中医治疗带状疱疹后遗神经痛的研究.doc VIP
- 江铃-江铃E400-产品使用说明书-E400豪华型-JX70021BEV-江铃E400使用说明书.pdf VIP
- ISO IEC 27017-2015 信息技术--安全技术--基于ISO IEC 27002的云服务信息安全控制实践准则.pdf
- 脑疝病人的护理课件(完整版).pptx VIP
- 4-6岁 《游来游去的水母》-美术课件.ppt VIP
- 100个超级有趣的冷知识.pdf VIP
- 指挥调度系统项目可行性研究报告.docx VIP
- 公司节能减排方案.pptx VIP
- RBANS记录表(精分,重度抑郁,焦虑障碍,正常对照).docx VIP
- 重症医学科绩效考核.ppt VIP
文档评论(0)