재귀 공통 테이블 식 (Recursive Common Table Expression, CTE)은 계층적 또는 순차적 데이터를 가져오기 위해 자신을 참조하는 유형의 CTE입니다. 재귀 CTE는 조직도, 파일 시스템 또는 부모-자식 관계가 있는 모든 상황에서 유용합니다. 재귀 CTE는 두 부분으로 구성됩니다. 앵커 멤버(Anchor Member)는 재귀의 시작점이며, 재귀 멤버(Recursive Member)는 CTE 자체를 참조합니다. 재귀 CTE의 구문은 WITH RECURSIVE 절, CTE 이름 및 앵커 멤버와 재귀 멤버에 대한 SELECT 문을 포함합니다.
제공된 예제는 조직 계층에서 특정 관리자에게 보고하는 모든 직원을 찾는 방법을 보여줍니다. 앵커 멤버는 최상위 관리자를 선택하고, 재귀 멤버는 현재 관리자에게 보고하는 직원을 찾습니다. 재귀는 이전 수준의 관리자에게 보고하는 직원이 더 이상 없을 때까지 계속됩니다. 최종 출력은 직원 계층을 표시하며, 각 수준은 계층 내의 깊이를 나타냅니다.
재귀 CTE는 계층적 데이터를 쿼리하는 데 매우 유용하며, 디렉토리 구조, 제품 카테고리 또는 부모-자식 관계와 같은 다양한 시나리오에 적용할 수 있습니다. 이 접근 방식은 "누가 누구에게 보고하는가?"와 같은 질문에 답하고 계층적 데이터를 탐색하는 데 사용할 수 있습니다. 재귀 CTE를 사용하면 복잡한 계층적 데이터 구조를 쿼리하는 과정이 간소화됩니다.
dev.to
Recursive Common Table Expressions (CTEs) | Employee and Manager Hierarchy example
Create attached notes ...
