반응형
계층형 질의(Hierachical query)
1. 계층형 질의
-테이블에 계층형 데이터가 존재하는 경우 조회하기 위해 계층형 질의를 사용
-계층형 데이터 : 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 말함.
쉽게 말해서 학교 데이터를 조회하면 6학년부터 1학년 순서로 혹은 1학년부터 6학년 순서로 조회하는 것....
2. 오라클 계층형 SQL
select
from table
wher
start 조건 : 계층 구조 전개의 시작 위치를 지정하는 구문.
루트 데이터 지정함.
connect by prior A and B : connect by
-전개될 자식 데이터를 지정하는 구문.
prior (PK,자식) = (FK, 부모)
-계층 구조에서 부모 데이터에서 자식 데이터 방향으로 전개
prior (FK,부모) = (PK, 부모)
-계층 구조에서 자식 데이터에서 부모 데이터 방향으로 전개
형태는 위와 같다.
START WITH
: 시작 위치를 지정하는 구문
보통 제일 높은 최고 위치부터 조회하는데
예를 들어 회사 테이블이라고 하면 사장의 MGR은 더 이상 없기 때문에 NULL이다.
그래서 보통 START WITH ~ 관리자=NULL 이런 식으로 조회함.
CONNECT BY
:목록을 가져옴.
CONNECT BY PRIOR A AND B
: A=B 조인 조건을 의미한다.
LEVEL
:계층형 질의에서 사용되는 가상 컬럼
CONNECT_BY_isleaf
계층 구조의 가장 최하위 표시.
최하위이면 1, 아니면 0 표시
예제
예제 테이블
select * from
tb_emp te , tb_dept td
where te.dept_cd = td.dept_cd;
오라클 계층형 데이터 조회
LEVEL을 사용해 계층을 나타내고,
LPAD 함수를 사용하는 이유는 띄어쓰기를 통해 계층을 명확하게 확인하기 위해서.
--회장부터 순방향 조회
--결과
--최하위부터 역방향 조회
--결과
반응형
'📒 education archive > 💾DB' 카테고리의 다른 글
[국비학원 기록/DB 미니 프로젝트] 데이터 모델링 실습 02. 사원, 부서, 자격증, 급여 테이블 생성, 명령 프롬포트 테이블 데이터 삽입하는 방법 (0) | 2021.11.18 |
---|---|
[국비학원 기록/DB 미니 프로젝트] DA#5 활용한 데이터 모델링 실습 01. (0) | 2021.11.18 |
[국비학원 기록/DB] 데이터베이스 설계02. 정규화, 제 1, 2, 3 정규화 (0) | 2021.11.18 |
[국비학원 기록/DB] 데이터베이스 설계01. DB 설계 단계, 개념적 설계, 논리적 설계 (0) | 2021.11.17 |
[국비학원 기록/DB] JOIN - 내부조인, 외부조인 (0) | 2021.11.12 |