SELECT LEVEL,
	   SYS_CONNECT_BY_PATH('['||category_type||']'|| category_name, '-') as path
FROM self_join
START WITH parent_category IS NULL
CONNECT BY PRIOR category_name = parent_category;

Untitled

LEVEL

현재의 DEPTH를 반환한다. 루트 노드는 1.

SYS_CONNECT_BY_PATH (컬럼, 구분자)

루트 노드부터 현재 노드까지의 경로를 출력해주는 함수

START WITH

경로가 시작되는 루트 노드를 생성해주는 절

CONNECT BY

루트로부터 자식 노드를 생성해주는 절.

조건에 만족하는 데이터가 없을 때까지 노드를 생성한다.

PRIOR

바로 앞에 있는 부모 노드의 값을 반환한다.

그 밖에 계층 쿼리에서 사용할 수 있는 항목

CONNECT_BY_ROOT 컬럼