처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈

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 멤버가 이전 결과를 참조하여 반복 확장합니다. 조직도, 카테고리 트리, 경로 탐색 등 계층 구조 질의에 필수적입니다.

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

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

정규반 살펴보기