Analyseer de stamboom

Hiërarchische en recursieve queries in SQL Server

Jasmin Ludolf

Content Developer

De stamboom

De familyTree wordt beschreven door:

  • ID van de persoon
  • Name van de persoon
  • parentID de ID van de ouder

De elementen die de hiërarchie beschrijven:

  • ID
  • parentID

Afbeelding van een stamboom

Hiërarchische en recursieve queries in SQL Server

Alles samenvoegen

Onthoud dit over recursieve CTE's:

  • Start de recursie in het anchorgedeelte
  • Zet de recursiefunctie in het recursiegedeelte
  • Definieer een stopvoorwaarde

Onthoud deze werkprincipes:

  • Bepaal het recursieniveau
  • Combineer de recursiefunctie in één veld
Hiërarchische en recursieve queries in SQL Server

Vragen over de stamboom

Aantal generaties bepalen

  • Definieer LEVEL

    -- Anchor member
    0 as LEVEL
    -- Recursive member
    LEVEL + 1
    
  • Tel het aantal LEVELS om generaties te krijgen COUNT(LEVEL)

Generations:
100
Hiërarchische en recursieve queries in SQL Server

Vragen over de stamboom

Alle mogelijke ouders in één veld

  • Combineer recursieresultaten in één veld
    -- 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   |
+---------------------------------------------+
Hiërarchische en recursieve queries in SQL Server

Laten we oefenen!

Hiërarchische en recursieve queries in SQL Server

Preparing Video For Download...