In Datenbankverwaltungssystemen (DBMS) werden Joins verwendet, um Zeilen aus zwei oder mehr Tabellen basierend auf einer oder mehreren zugehörigen Spalten zu kombinieren. Hier sind verschiedene Arten von Verknüpfungen zusammen mit Beispielen:
1. Inner Join:
– Kombiniert Zeilen aus zwei Tabellen, bei denen eine Übereinstimmung zwischen den Join-Spalten beider Tabellen besteht.
- Beispiel:
„sql
WÄHLEN *
VON Kunden
INNER JOIN-Aufträge
ON Customers.CustomerID =Orders.CustomerID;
„
2. Linker äußerer Join:
– Beinhaltet alle Zeilen aus der linken Tabelle und nur die passenden Zeilen aus der rechten Tabelle.
- Beispiel:
„sql
WÄHLEN *
VON Kunden
LEFT OUTER JOIN-Befehle
ON Customers.CustomerID =Orders.CustomerID;
„
3. Rechter äußerer Join:
– Beinhaltet alle Zeilen aus der rechten Tabelle und nur die passenden Zeilen aus der linken Tabelle.
- Beispiel:
„sql
WÄHLEN *
VON Kunden
RIGHT OUTER JOIN-Befehle
ON Customers.CustomerID =Orders.CustomerID;
„
4. Vollständiger äußerer Join:
– Kombiniert alle Zeilen aus beiden Tabellen, einschließlich nicht übereinstimmender Zeilen aus beiden Tabellen.
- Beispiel:
„sql
WÄHLEN *
VON Kunden
FULL OUTER JOIN-Aufträge
ON Customers.CustomerID =Orders.CustomerID;
„
5. Selbst beitreten:
– Führt einen Join-Vorgang für dieselbe Tabelle durch und verknüpft Zeilen basierend auf einer gemeinsamen Spalte innerhalb der Tabelle.
- Beispiel:
„sql
WÄHLEN *
VON Mitarbeitern ALS Mitarbeiter1
JOIN Employees AS Employee2
ON Employee1.ManagerID =Employee2.EmployeeID;
„
6. Cross Join:
– Kombiniert jede Zeile einer Tabelle mit jeder Zeile einer anderen Tabelle, was zu einer großen Anzahl von Zeilen führt.
- Beispiel:
„sql
WÄHLEN *
VON Kunden
CROSS JOIN-Aufträge;
„
7. Natürliche Verbindung:
– Führt einen Inner Join basierend auf gemeinsamen Spaltennamen zwischen zwei Tabellen durch. Die allgemeinen Spaltennamen müssen nicht explizit angegeben werden.
- Beispiel:
„sql
WÄHLEN *
VON Kunden
NATURAL JOIN-Aufträge;
„
Bei der Verwendung von Joins ist es wichtig, die Indexerstellung für die Join-Spalten zu berücksichtigen, um die Leistung zu verbessern und die Abfrageausführung zu optimieren.