Verbinden Sie mehr als 3 Tabellen in SQL Server
Hier ist ein Beispiel für die Verbinnung von vier Tabellen in SQL Server sowie Erklärungen:
Szenario: Stellen Sie sich eine Datenbank für einen Buchladen vor:
* Kunden: Speichert Kundeninformationen (CustomerID, FirstName, Lastname, E -Mail)
* Bestellungen: Enthält Bestelldetails (OrderID, CustomerId, OrderDate, TotalAmount)
* OrderItems: Listet Elemente in jeder Bestellung auf (OrderItemid, OrderId, BookId, Menge)
* Bücher: Hält Informationen zu jedem Buch (BookId, Titel, Autor, Preis)
Ziel: Holen Sie sich eine Liste von Kundennamen, Bestelldaten und den Titeln der von ihnen gekauften Bücher.
`` `SQL
WÄHLEN
C.Firstname,
C. Lastname,
O.ORDERDATE,
b.titel als boottitle
AUS
Kunden c
VERBINDEN
Bestellungen o auf customerid =o.customerid
VERBINDEN
OrderItems oi on o.orderid =oi.orderId
VERBINDEN
Bücher B auf OI.Bookid =B.Bookid
Bestellen von
C. Lastname, O. OrderDate;
`` `
Erläuterung:
1. Klausel auswählen: Gibt die zum Abrufen von Spalten an (Kundenname, Bestelldatum, Buchtitel).
2. Aus Klausel: Listet die am Join verbundenen Tabellen auf.
3. Klauseln: Verbinden Sie Tabellen basierend auf gemeinsamen Spalten.
* `Schließen Sie Bestellungen O unter cocustomerId =o.customerId`:Connects` Customer` und `Bestellungen" in der Spalte "CustomerID" an.
* `Join OrderItems oi on o.orderid =oi.orderId`:Connects` Bestellungen "und` orderitems` in der Spalte orderid`.
* `Treten Sie den Büchern B auf oi.bookid =bookid`:Connects` orderitems` und `books` in der Spalte" bookId "an.
4. Bestellung nach Klausel: Sortiert die Ergebnisse nach dem Nachnamen und Bestelldatum des Kunden.
Schlüsselpunkte:
* Join -Typen: Sie können verschiedene Join -Typen wie "Left Join", "Right Join" oder "Full Join" verwenden, abhängig von Ihren spezifischen Anforderungen.
* Aliase: Durch die Verwendung von Aliase (z. B. `c` für` customer`) wird die Abfrage lesbarer.
* Spaltennamen: Achten Sie auf doppelte Spaltennamen über Tabellen hinweg. Verwenden Sie Tabellenaliase (z. B. "B.Title"), um zu klären.
* Optimierung: Für komplexe Abfragen erwägen Sie die Verwendung von Indizes für die Join -Spalten für eine verbesserte Leistung.
Zusätzliche Hinweise:
* Dieses Beispiel zeigt einen grundlegenden Join mit mehreren Tabellen. Sie können die Abfrage so ändern, dass weitere Spalten, Filter oder Gesamtfunktionen basierend auf Ihren spezifischen Anforderungen enthalten sind.
* Die "Order by" -Klausel ist optional, hilft jedoch dabei, die Ergebnisse sinnvoll zu organisieren.
Sie können dieses Beispiel an Ihr eigenes Datenbankschema anpassen.