Heim > Datenbank > MySQL-Tutorial > Wie können rekursive Self-Joins in SQL Server hierarchische Daten abrufen?

Wie können rekursive Self-Joins in SQL Server hierarchische Daten abrufen?

Patricia Arquette
Freigeben: 2025-01-15 12:15:47
Original
624 Leute haben es durchsucht

How Can Recursive Self-Joins in SQL Server Retrieve Hierarchical Data?

Rekursive Selbstverknüpfungen mit SQL Server: Navigieren in hierarchischen Daten

Die rekursiven Selbstverknüpfungen von SQL Server bieten eine leistungsstarke Methode zum Durchqueren hierarchischer Datenstrukturen. Dies ist besonders wertvoll, wenn es um Eltern-Kind-Beziehungen innerhalb einer einzelnen Tabelle geht.

Stellen Sie sich eine Categories Tabelle mit diesen Spalten vor:

  • Id
  • Name
  • ParentId

Eine rekursive Selbstverknüpfung ermöglicht es uns, die hierarchischen Beziehungen innerhalb dieser Tabelle zu extrahieren, einschließlich verschachtelter Kategorieebenen.

Anschauliches Beispiel:

Stellen Sie sich diese Kategoriehierarchie vor:

<code>- Business Laptops
    - Gaming Laptops
        - Ultrabooks
            - Compact Ultrabooks</code>
Nach dem Login kopieren

Um „Business-Laptops“ und seine übergeordneten Kategorien mithilfe eines rekursiven allgemeinen Tabellenausdrucks (CTE) abzurufen, können wir diese Abfrage verwenden:

<code class="language-sql">;WITH CTE AS (
    SELECT id, name, name AS path, parent_id
    FROM Categories
    WHERE parent_id IS NULL
    UNION ALL
    SELECT t.id, t.name, CAST(cte.path + ',' + t.name AS VARCHAR(100)), t.parent_id
    FROM Categories t
    INNER JOIN CTE ON t.parent_id = CTE.id
)
SELECT id, name, path
FROM CTE
WHERE name = 'Business Laptops';</code>
Nach dem Login kopieren

Die Ausgabe dieser Abfrage wäre:

<code>id      name                path
1       Business Laptops      Business Laptops</code>
Nach dem Login kopieren

Rekursive Selbstverknüpfungen bieten eine effiziente Möglichkeit, Daten aus komplexen hierarchischen Strukturen zu verwalten und abzurufen und auf verwandte Informationen über mehrere Ebenen hinweg zuzugreifen.

Das obige ist der detaillierte Inhalt vonWie können rekursive Self-Joins in SQL Server hierarchische Daten abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage