SQL에서 공통 테이블 표현식(CTE) 사용 시 WITH RECURSIVE의 동작 원리는?

어려움 Stack Overflow
보기 및 정답
A 기본 케이스(anchor)와 재귀 케이스를 UNION ALL로 결합하여 계층 데이터를 반복적으로 탐색한다
B WITH RECURSIVE 구문은 테이블의 데이터를 재귀적으로 순회하며 조건에 맞는 행을 삭제한다
C WITH RECURSIVE 절은 기존 인덱스를 분석하여 자동으로 최적화된 새 인덱스를 재생성한다
D WITH RECURSIVE 구문은 SELECT 쿼리를 종료 조건 없이 무한히 반복 실행하는 기능으로 알려져 있다

해설

WITH RECURSIVE cte AS (SELECT 1 UNION ALL SELECT n+1 FROM cte WHERE n < 10)처럼 anchor 멤버(첫 번째 SELECT)가 초기 행을 생성하고, recursive 멤버가 이전 결과를 참조하여 반복 확장합니다. 조직도, 카테고리 트리, 경로 탐색 등 계층 구조 질의에 필수적입니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기
START THE LOOP · CHOOSE

시장과 사람의 답을 봤다면,
다음 결과물의 구조를 고릅니다.

한 번의 결과에 기대지 않고 다시 만들 수 있도록, 문제 발견부터 제작·배포·수익화까지 이어지는 전체 흐름을 익혀보세요.

TTJ CLASS에서 다음 구조 고르기
처리 중...