Heim > Datenbank > Oracle > So verwenden Sie Connect by in Oracle

So verwenden Sie Connect by in Oracle

下次还敢
Freigeben: 2024-04-30 08:51:17
Original
874 Leute haben es durchsucht

CONNECT BY wird verwendet, um hierarchische Abfragen in Oracle durchzuführen. Die spezifischen Schritte umfassen: Erstellen einer hierarchischen Struktur und Angeben der verbundenen Spalten, um die Verbindungsbedingungen festzulegen Die Schlüsselwörter „prior“ und „current“ geben die Beziehung zwischen der vorherigen Ebene und der aktuellen Ebene an. Verwenden Sie erweiterte Funktionen wie START WITH, CONNECT_BY_ROOT und LEVEL, um komplexere hierarchische Abfragen durchzuführen.

So verwenden Sie Connect by in Oracle

Verwendung von CONNECT BY in Oracle

Kurze Beschreibung

CONNECT BY ist ein Schlüsselwort, das in Oracle zur Durchführung hierarchischer Abfragen verwendet wird, die Daten durch Angabe einer hierarchischen Struktur durchlaufen können. Es eignet sich zum Abfragen baumförmiger Daten oder Daten mit hierarchischen Beziehungen.

Syntax

<code>SELECT columns
FROM table_name
CONNECT BY prior column_name = current column_name</code>
Nach dem Login kopieren

Wobei:

  • columns: die auszuwählende Spalte
  • table_name: der abzufragende Tabellenname
  • prior columns_name: der Spaltenname von vorheriges Level
  • aktueller Spaltenname : Spaltenname der aktuellen Ebene

Verwendungsmethode

1. Erstellen Sie eine Hierarchie

Zuerst müssen Sie die Spalte der Verbindung angeben, die die Spalte definiert, die die Hierarchie definiert. Es kann sich um eine Fremdschlüsselspalte in einer Tabelle handeln, die eine Eltern-Kind-Beziehung darstellt.

2. Verbindungsbedingungen angeben

Die CONNECT BY-Klausel verwendet die Schlüsselwörter „prior“ und „current“, um Verbindungsbedingungen anzugeben. Das Schlüsselwort „prior“ bezieht sich auf Spalten auf der vorherigen Ebene, während sich das Schlüsselwort „current“ auf Spalten auf der aktuellen Ebene bezieht. Die Join-Bedingung lautet normalerweise:

<code>prior column_name = current column_name</code>
Nach dem Login kopieren

Dies bedeutet, dass der Spaltenwert der vorherigen Ebene der aktuellen Zeile gleich dem Spaltenwert der aktuellen Zeile ist.

Beispiel

Angenommen, wir haben eine Tabelle namens „Employee“, die die folgenden Spalten enthält:

  • Employee_ID
  • Manager_ID

Die Spalte „Manager_ID“ stellt den Manager des Mitarbeiters dar und kann zum Erstellen einer Hierarchie verwendet werden.

Um alle Mitarbeiter sowie deren Manager zu erhalten, können wir die folgende Abfrage verwenden:

<code>SELECT Employee_ID, Manager_ID, Employee_Name
FROM Employee
CONNECT BY prior Manager_ID = current Employee_ID;</code>
Nach dem Login kopieren

Erweiterte Funktionen

Neben der grundlegenden Verwendung bietet CONNECT BY auch mehrere erweiterte Funktionen:

  • STARTEN MIT: Geben Sie die an Ausgangspunkt für die Ebenendurchquerung.
  • CONNECT_BY_ROOT: Referenziert den Wurzelknoten der Hierarchie.
  • LEVEL: Ermitteln Sie die Ebene der aktuellen Zeile in der Hierarchie.

Mit diesen Funktionen können Sie komplexere hierarchische Abfragen durchführen, z. B. alle untergeordneten Knoten eines bestimmten Knotens finden oder den Abstand zwischen Knoten berechnen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Connect by in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage