본문 바로가기

SQL/SQLD (개발자)

2-2. SQL 활용_(3)계층형 질의와 셀프 조인

제3절 계층형 질의와 셀프 조인

 

1. 계층형 질의

 - 테이블에 계층형 데이터를 조회하는 방법

 - 계층형 데이터: 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터

 

  가. Oracle 계층형 질의 

# Oracle 계층형 질의 구문

SELECT 컬럼
FROM 테이블
WHERE 조건1 AND 조건2
START WITH 조건  #시작 위치 지정
CONNECT BY [NOCYCLE] 조건  #자식 데이터를 지정  #NOCYCLE를 추가하면 사이클이 발생한 이후의 데이터는 전개하지 않음
ORDER SIBLINGS BY 컬럼  #형제 노드(동일 LEVEL) 사이에서 정렬을 수행

 

 나. SQL Server 계층형 질의

  - CTE(Common Table Expression) 를 재귀 호출함

 

2. 셀프 조인(Self Join)

  - 동일 테이블 사이의 조인

SELECT 별칭1.칼럼명, 별칭2.칼럼명
FROM 테이블1 AS 별칭1, 테이블2 AS 별칭2
WHERE 별칭1.칼럼명2 = 별칭2.칼럼명1;