가족 관계도 분석

SQL Server에서의 계층형 및 재귀 쿼리

Jasmin Ludolf

Content Developer

가족 관계도

familyTree는 다음으로 구성됩니다:

  • 개인의 ID
  • 개인의 Name
  • 부모의 ID인 parentID

계층을 나타내는 요소:

  • ID
  • parentID

가족 관계도 이미지

SQL Server에서의 계층형 및 재귀 쿼리

모두 종합하기

재귀 CTE의 핵심 원칙을 기억하십시오:

  • 앵커 멤버에서 재귀를 초기화
  • 재귀 멤버에 재귀 함수를 구현
  • 종료 조건을 정의

작동 원칙도 기억하십시오:

  • 재귀 단계(LEVEL) 구하기
  • 재귀 결과를 하나의 필드로 결합
SQL Server에서의 계층형 및 재귀 쿼리

가족 관계도 질문

세대 수 구하기

  • LEVEL 정의

    -- Anchor member
    0 as LEVEL
    -- Recursive member
    LEVEL + 1
    
  • LEVEL 개수를 세어 세대 수 계산 COUNT(LEVEL)

세대 수:
100
SQL Server에서의 계층형 및 재귀 쿼리

가족 관계도 질문

가능한 모든 부모를 한 필드에 모으기

  • 재귀 결과를 한 필드로 결합
    -- Anchor member
    CAST(ID AS VARCHAR(MAX)) as Parent
    -- Recursive member
    Parent + ' -> ' + CAST(parentID AS VARCHAR(MAX))
    
+---------------------------------------------+
| Name            | Parent                    |
|-----------------|---------------------------|
|Dominik Egarter  | 100 -> 101 -> 102 ->103   |
+---------------------------------------------+
SQL Server에서의 계층형 및 재귀 쿼리

가족 관계도를 확인해 봅시다!

SQL Server에서의 계층형 및 재귀 쿼리

Preparing Video For Download...