วิเคราะห์ family tree

Hierarchical and Recursive Queries in SQL Server

Jasmin Ludolf

Content Developer

Family tree

familyTree ประกอบด้วย:

  • ID ของบุคคล
  • Name ของบุคคล
  • parentID คือ ID ของ parent

องค์ประกอบที่ใช้อธิบายลำดับชั้น:

  • ID
  • parentID

ภาพ family tree

Hierarchical and Recursive Queries in SQL Server

สรุปทุกอย่างเข้าด้วยกัน

หลักการของ recursive CTE ที่ควรจำ:

  • กำหนดค่าเริ่มต้นการ recursion ใน anchor member
  • กำหนด recursion function ใน recursion member
  • กำหนดเงื่อนไขการหยุด

หลักการทำงานที่ควรจำ:

  • ดึงระดับของ recursion
  • รวม recursion function ไว้ในฟิลด์เดียว
Hierarchical and Recursive Queries in SQL Server

คำถามเกี่ยวกับ family tree

นับจำนวน generation

  • กำหนด LEVEL

    -- Anchor member
    0 as LEVEL
    -- Recursive member
    LEVEL + 1
    
  • นับจำนวน LEVEL เพื่อหา generation COUNT(LEVEL)

Generations:
100
Hierarchical and Recursive Queries in SQL Server

คำถามเกี่ยวกับ family tree

ดึง parent ทั้งหมดในฟิลด์เดียว

  • รวมผลลัพธ์ของ recursion ไว้ในฟิลด์เดียว
    -- 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   |
+---------------------------------------------+
Hierarchical and Recursive Queries in SQL Server

มาฝึกกันเถอะ!

Hierarchical and Recursive Queries in SQL Server

Preparing Video For Download...