欢迎来到天天文库
浏览记录
ID:40406454
大小:216.51 KB
页数:17页
时间:2019-08-01
《oracle数据库ppt中科院培训专用Les19cn》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、分级取回数据目标完成本课后,您应当能够执行下列操作:解释分级查询的概念创建一个树型结构的报告格式化分级数据从树型结构中去除分支EMPLOYEES表中的例子数据自然树结构DeHannKingHunoldEMPLOYEE_ID=100(父)MANAGER_ID=100(子)WhalenKochharHigginsMourgosZlotkeyRajsDaviesMatosGietzErnstLorentzHartsteinFayAbelTaylorGrantVargas分级查询WHERE条件:exprcomparison_operatorexprSELECT[LEVEL],column,
2、expr...FROMtable[WHEREcondition(s)][STARTWITHcondition(s)][CONNECTBYPRIORcondition(s)];遍历树起点指定必须满足的条件接受有效的条件使用EMPLOYEES表,从名字是Kochhar的雇员开始...STARTWITHlast_name='Kochhar'STARTWITHcolumn1=value遍历树方向从顶向下Column1=ParentKeyColumn2=ChildKey从底向上Column1=ChildKeyColumn2=ParentKey从顶向下遍历,用EMPLOYEES表CONNECT
3、BYPRIORcolumn1=column2...CONNECTBYPRIORemployee_id=manager_id遍历树:从底向上SELECTemployee_id,last_name,job_id,manager_idFROMemployeesSTARTWITHemployee_id=101CONNECTBYPRIORmanager_id=employee_id;遍历树:从顶向下SELECTlast_name
4、
5、'reportsto'
6、
7、PRIORlast_name"WalkTopDown"FROMemployeesSTARTWITHlast_name='King'CON
8、NECTBYPRIORemployee_id=manager_id;…用LEVEL伪列将行分等级DeHannKingHunoldWhalenKochharHigginsMourgosZlotkeyRajsDaviesMatosGietzErnstLorentzHartsteinFayAbelTaylorGrantVargasLevel1根/父Level2父/子Level3父/子/叶Level4叶用LEVEL和LPAD格式化分级报告创建一个报告显示公司的管理层,从最高级别开始,缩进下面跟随的级别COLUMNorg_chartFORMATA12SELECTLPAD(last_name,
9、LENGTH(last_name)+(LEVEL*2)-2,'_')ASorg_chartFROMemployeesSTARTWITHlast_name='King'CONNECTBYPRIORemployee_id=manager_id修剪分支用WHERE子句去除一个结点用CONNECTBY子句去除一个分支WHERElast_name!='Higgins'CONNECTBYPRIORemployee_id=manager_idANDlast_name!='Higgins'KochharHigginsGietzWhalenKochharHigginsWhalenGietz小结在本课
10、中,您应该已经学会下面的内容:能够用分级查询查看一个表中各行之间的分级关系指定查询的起点通过修剪除去结点或分支练习19概览本章练习包括下面的主题:区别分级查询和非分级查询遍历树用LEVEL伪列生成一个缩进的报表修剪树结构输出排序HiddenSlideHiddenSlideHiddenSlide
此文档下载收益归作者所有