Gibt es eine Möglichkeit, Baumdaten in SQL zu durchlaufen? Ich kenne connect by
Oracle, aber gibt es eine andere Möglichkeit, dies in anderen SQL-Implementierungen zu tun? Ich frage, weil die Verwendung connect by
einfacher ist als das Schreiben einer Schleife oder einer rekursiven Funktion, um die Abfrage für jedes Ergebnis auszuführen.
Da einige Leute durch den Ausdruck "Baumdaten" verwirrt zu sein scheinen, werde ich weiter erläutern: Was ich meine, bezieht sich auf Tabellen, die ein parent_id
oder ein ähnliches Feld haben, das einen Primärschlüssel aus einer anderen Zeile in derselben Tabelle enthält.
Die Frage stammt aus einer Erfahrung, in der ich mit Daten gearbeitet habe, die auf diese Weise in einer Oracle-Datenbank gespeichert wurden, und wusste, dass die connect by
in anderen DBMS nicht implementiert sind. Wenn man Standard-SQL verwenden würde, müsste man einen neuen Tabellenalias für jedes übergeordnete Element erstellen, das aufgerüstet werden soll. Dies könnte leicht außer Kontrolle geraten.