19 Copyright © Oracle Corporation, 2001. All rights reserved. Hierarchical Retrieval.

Slides:



Advertisements
Similar presentations
7 Copyright © Oracle Corporation, All rights reserved. Producing Readable Output with i SQL*Plus.
Advertisements

4 Copyright © 2004, Oracle. All rights reserved. Reporting Aggregated Data Using the Group Functions.
5 Copyright © Oracle Corporation, All rights reserved. Aggregating Data Using Group Functions.
5 Copyright © 2007, Oracle. All rights reserved. Reporting Aggregated Data Using the Group Functions.
Notice that No where clause In the syntax.
18 Copyright © Oracle Corporation, All rights reserved. Advanced Subqueries.
Chapter 5 Recursion in SQL. 2 Example. Let Flights(Flight#, Source_Ctiy, Dest_City) be a relational schema DEN CHI SFO DAL NY UA 930 DL 900 UA 1400 UA.
10 Copyright © Oracle Corporation, All rights reserved. Including Constraints.
5 Copyright © 2004, Oracle. All rights reserved. Displaying Data from Multiple Tables.
Restricting and Sorting Data. Consider the table employee(employee_id,last_name,job_id, department_id ) assume that you want to display all the employees.
6 Copyright © 2004, Oracle. All rights reserved. Using Subqueries to Solve Queries.
8 Copyright © 2004, Oracle. All rights reserved. Creating LOVs and Editors.
2 Copyright © 2004, Oracle. All rights reserved. Restricting and Sorting Data.
9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Using the Set Operators Assist. Prof. Pongpisit Wuttidittachotti, Ph.D. Faculty.
4 Copyright © Oracle Corporation, All rights reserved. Displaying Data from Multiple Tables.
 After completing this lesson, you should be able to do the following: ◦ Interpret the concept of a hierarchical query ◦ Create a tree-structured report.
17 Copyright © Oracle Corporation, All rights reserved. Enhancements to the GROUP BY Clause.
1 Copyright © Oracle Corporation, All rights reserved. Writing Basic SQL SELECT Statements.
4 Copyright © Oracle Corporation, All rights reserved. Displaying Data from Multiple Tables.
Chapter 5 Advanced SQL. 2 Recursion in SQL Example. Let Flights(Flight#, Source_City, Dest_City) be a relational schema DEN CHI SFO DAL NY UA 930 DL 900.
4 Copyright © Oracle Corporation, All rights reserved. Displaying Data from Multiple Tables.
Sections 3 – Joins & Hierarchical Queries
Basisdata Pertanian. After completing this lesson, you should be able to do the following:  Write SELECT statements to access data from more than one.
2 Copyright © Oracle Corporation, All rights reserved. Restricting and Sorting Data.
2 Copyright © 2004, Oracle. All rights reserved. Restricting and Sorting Data.
4 Copyright © 2006, Oracle. All rights reserved. Restricting and Sorting Data.
10 Copyright © 2009, Oracle. All rights reserved. Using DDL Statements to Create and Manage Tables.
1 Copyright © 2006, Oracle. All rights reserved. Using DDL Statements to Create and Manage Tables.
4 Copyright © 2004, Oracle. All rights reserved. Reporting Aggregated Data Using the Group Functions.
10 Copyright © Oracle Corporation, All rights reserved. Including Constraints.
20 Copyright © Oracle Corporation, All rights reserved. Oracle9 i Extensions to DML and DDL Statements.
11 Copyright © Oracle Corporation, All rights reserved. Creating Views.
Multiple Table Queries (Inner Joins) Week 3. Objective –Write SELECT statements to display data from more than one table using inner joins.
4 Copyright © Oracle Corporation, All rights reserved. Displaying Data from Multiple Tables.
5 Copyright © 2004, Oracle. All rights reserved. Displaying Data from Multiple Tables.
10 Copyright © Oracle Corporation, All rights reserved. Including Constraints.
2 第二讲 Restricting and Sorting Data. Objectives After completing this lesson, you should be able to do the following: Limit the rows retrieved by a query.
Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement Satrio Agung Wicaksono, S.Kom., M.Kom.
Copyright © 2004, Oracle. All rights reserved. Lecture 4: 1-Retrieving Data Using the SQL SELECT Statement 2-Restricting and Sorting Data Lecture 4: 1-Retrieving.
2 Copyright © 2004, Oracle. All rights reserved. Restricting and Sorting Data.
4 Copyright © Oracle Corporation, All rights reserved. Displaying Data from Multiple Tables.
15 Copyright © Oracle Corporation, All rights reserved. Using SET Operators.
Copyright © 2004, Oracle. All rights reserved. Using the Set Operators.
3 Copyright © 2009, Oracle. All rights reserved. Using Single-Row Functions to Customize Output.
Using SET Operators Fresher Learning Program January, 2012.
Database Programming Sections 3 – Oracle Joins. Marge Hohly2 Obtaining Data from Multiple Tables: Using Joins.
6 Copyright © 2007, Oracle. All rights reserved. Retrieving Data Using Subqueries.
1 Copyright © Oracle Corporation, All rights reserved. Writing Basic SQL SELECT Statements.
2 Copyright © 2009, Oracle. All rights reserved. Restricting and Sorting Data.
ORACLE SQL Fundamental II xpp-e-f 重點 xpp-e : Generating Reports by Grouping Related Data xpp-f : Hierarchical Retrieval.
Hierarchical Retrieval Fresher Learning Program December, 2011.
Special Joins Week 4. Objective –Write SELECT statements to display left, right and full outer joins.
3 Copyright © 2009, Oracle. All rights reserved. Using Single-Row Functions to Customize Output.
7 Copyright © 2004, Oracle. All rights reserved. Hierarchical Retrieval.
11 Copyright © 2004, Oracle. All rights reserved. Managing XML Data in an Oracle 10g Database.
1 Copyright © 2007, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement.
4 Copyright © 2004, Oracle. All rights reserved. Displaying Data from Multiple Tables.
1 Copyright © 2009, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement.
4 Copyright © Oracle Corporation, All rights reserved. Displaying Data from Multiple Tables.
6 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using Subqueries.
1 Copyright © 2009, Oracle. All rights reserved. B Table Descriptions.
Restricting and Sorting Data
Restricting and Sorting Data
Using SQL*Plus.
Using Subqueries to Solve Queries
分级取回数据 Schedule: Timing Topic 30 minutes Lecture 20 minutes Practice
Using Subqueries to Solve Queries
Subqueries Schedule: Timing Topic 25 minutes Lecture
Restricting and Sorting Data
Presentation transcript:

19 Copyright © Oracle Corporation, All rights reserved. Hierarchical Retrieval

19-2 Copyright © Oracle Corporation, All rights reserved. Objectives After completing this lesson, you should be able to do the following: Interpret the concept of a hierarchical query Create a tree-structured report Format hierarchical data Exclude branches from the tree structure

19-3 Copyright © Oracle Corporation, All rights reserved. Sample Data from the EMPLOYEES Table

19-4 Copyright © Oracle Corporation, All rights reserved. Natural Tree Structure De Hann King Hunold EMPLOYEE_ID = 100 (Parent) MANAGER_ID = 100 (Child) Whalen Kochhar Higgins Mourgos Zlotkey RajsDaviesMatos Gietz ErnstLorentz Hartstein Fay AbelTaylorGrant Vargas

19-5 Copyright © Oracle Corporation, All rights reserved. Hierarchical Queries WHERE condition: expr comparison_operator expr SELECT [LEVEL], column, expr... FROM table [WHERE condition(s)] [START WITH condition(s)] [CONNECT BY PRIOR condition(s)] ;

19-6 Copyright © Oracle Corporation, All rights reserved. Walking the Tree Starting Point Specifies the condition that must be met Accepts any valid condition Using the EMPLOYEES table, start with the employee whose last name is Kochhar....START WITH last_name = 'Kochhar' START WITH column1 = value

19-7 Copyright © Oracle Corporation, All rights reserved. Walking the Tree Direction Top down Column1 = Parent Key Column2 = Child Key Bottom up Column1 = Child Key Column2 = Parent Key Walk from the top down, using the EMPLOYEES table. CONNECT BY PRIOR column1 = column2... CONNECT BY PRIOR employee_id = manager_id

19-8 Copyright © Oracle Corporation, All rights reserved. Walking the Tree: From the Bottom Up SELECT employee_id, last_name, job_id, manager_id FROM employees START WITH employee_id = 101 CONNECT BY PRIOR manager_id = employee_id ;

19-9 Copyright © Oracle Corporation, All rights reserved. Walking the Tree: From the Top Down SELECT last_name||' reports to '|| PRIOR last_name "Walk Top Down" FROM employees START WITH last_name = 'King' CONNECT BY PRIOR employee_id = manager_id ; …

19-10 Copyright © Oracle Corporation, All rights reserved. Ranking Rows with the LEVEL Pseudocolumn De Hann King HunoldWhalen Kochhar Higgins Mourgos Zlotkey RajsDaviesMatos Gietz ErnstLorentz Hartstein Fay AbelTaylorGrant Vargas Level 1 root/parent Level 2 parent/child Level 3 parent/child /leaf Level 4 leaf

19-11 Copyright © Oracle Corporation, All rights reserved. Formatting Hierarchical Reports Using LEVEL and LPAD Create a report displaying company management levels, beginning with the highest level and indenting each of the following levels. COLUMN org_chart FORMAT A12 SELECT LPAD(last_name, LENGTH(last_name)+(LEVEL*2)-2,'_') AS org_chart FROM employees START WITH last_name='King' CONNECT BY PRIOR employee_id=manager_id

19-12 Copyright © Oracle Corporation, All rights reserved. Hidden Slide

19-13 Copyright © Oracle Corporation, All rights reserved. Pruning Branches Use the WHERE clause to eliminate a node. Use the CONNECT BY clause to eliminate a branch. WHERE last_name != 'Higgins' CONNECT BY PRIOR employee_id = manager_id AND last_name != 'Higgins' Kochhar Higgins Gietz Whalen Kochhar HigginsWhalen Gietz

19-14 Copyright © Oracle Corporation, All rights reserved. Summary In this lesson, you should have learned the following: You can use hierarchical queries to view a hierarchical relationship between rows in a table. You specify the direction and starting point of the query. You can eliminate nodes or branches by pruning.

19-15 Copyright © Oracle Corporation, All rights reserved. Practice 19 Overview This practice covers the following topics: Distinguishing hierarchical queries from nonhierarchical queries Walking through a tree Producing an indented report by using the LEVEL pseudocolumn Pruning the tree structure Sorting the output

19-16 Copyright © Oracle Corporation, All rights reserved. Hidden Slide

19-17 Copyright © Oracle Corporation, All rights reserved. Hidden Slide

19-18 Copyright © Oracle Corporation, All rights reserved. Hidden Slide