-
SQLD 자격검증실전문제 87번 문제<자격증>/[SQLD] 2021. 12. 31. 16:51728x90
SQLD 자격검증실전문제(일명 주황책) 기반
p94의 87번 문제
SELECT C3 FROM TAB1 START WITH C2 IS NULL CONNECT BY PRIOR C1 = C2 ORDER SIBLINGS BY C3 DESC
이 SQL 쿼리는 Oracle 계층 쿼리를 사용하여 트리 형태의 데이터를 검색하는 쿼리로, ORDER SIBLINGS BY 절을 추가하여 결과를 정렬합니다.
728x90해당 쿼리는 다음과 같은 작업을 수행합니다.
- tab1 테이블에서 c2 열이 NULL인 행을 시작점으로 설정합니다.
- start with c2 is null : 시작점으로 설정할 행의 조건을 지정합니다.
- 시작점으로부터 c1열과 c2열의 관계에 따라 트리 구조를 따라 탐색하며 c3열의 값을 반환합니다.
- connect by prior c1 = c2 : 계층 구조를 나타내는 조건을 지정합니다. 여기서 prior 키워드는 현재 행 이전에 처리된 부모 행을 참조합니다.
- ORDER SIBLINGS BY 절을 사용하여 같은 부모를 가지는 형제 노드들의 결과를 정렬합니다.
- ORDER SIBLINGS BY C3 DESC : 형제 노드들을 c3 열의 내림차순으로 정렬합니다.
즉, 이 쿼리는 c2가 NULL인 행을 시작점으로 하여 c1과 c2열의 관계에 따라 자식 노드를 찾아가며 계층 구조를 나타내는 쿼리입니다. 이때, 각 노드에서는 c3열의 값을 반환하며, 같은 부모를 가지는 형제 노드들은 c3 열의 내림차순으로 정렬됩니다.
728x90'<자격증> > [SQLD]' 카테고리의 다른 글
SQLD 자격검증실전문제 91번 문제 (0) 2023.03.19 SQLD 보수교육 (0) 2023.02.18 SQLD/SQLP 시험일정(2021년) (0) 2021.12.28 SQLD 시험 결과(합격) (0) 2021.12.03 SQLD 계층 문제 대비하기 (0) 2021.12.03 - tab1 테이블에서 c2 열이 NULL인 행을 시작점으로 설정합니다.