[MySQL] 재귀 쿼리(WITH RECURSIVE 문)
·
SQL/Tip
📌 재귀 쿼리란?SQL에서는 CTE(Common Table Expression) 중 WITH RECURSIVE 구문을 사용하면 자기 자신을 반복적으로 호출하는 형태의 재귀 쿼리를 만들 수 있음조직도나 카테고리 트리, 댓글처럼 부모-자식 관계가 있는 계층형 데이터를 조회할 때 주로 활용됨 📚 재귀 쿼리 (WITH RECURSIVE 문) 동작 방식 (아래 쿼리 기본 구조 참고)Anchor 쿼리로 초기 데이터 1회 실행하며, 그 결과를 이용해 Recursive 쿼리 반복 실행UNION ALL로 계속 합치다가 종료 조건 만족 시 멈춤 UNION ALL 위는 시작점, 아래는 반복 규칙을 정의함🔴 재귀 쿼리에 종료 조건이 없으면 자기 자신을 무한히 호출하게 되어 무한 루프가 발생하기 때문에 종료 조건이 필수로..