slutter sig til mere end 3 tabeller i SQL Server
Her er et eksempel på at deltage i fire tabeller i SQL Server sammen med forklaringer:
Scenario: Forestil dig en database til en boghandel:
* Kunder: Butikker kundeoplysninger (CustomerID, FirstName, LastName, E -mail)
* ordrer: Indeholder ordreoplysninger (orderid, customerID, OrderDate, TotalAmount)
* ordreItems: Viser genstande i hver rækkefølge (orderitemid, orderid, bookid, mængde)
* bøger: Holder information om hver bog (BookID, titel, forfatter, pris)
Mål: Få en liste over kundenavne, bestillingsdatoer og titlerne på bøger, de købte.
`` `sql
VÆLGE
c.FirstName,
c.lastname,
O.Orderdate,
B.Title som bogtitle
FRA
Kunder c
Deltag i
Ordrer o på c.customerid =o.customerid
Deltag i
OrdreItems oi on o.orderid =oi.orderid
Deltag i
Bøger b på oi.bookid =b.bookId
Bestil af
c.lastname, O.OrderDate;
`` `
Forklaring:
1. Vælg klausul: Specificerer kolonnerne, der skal hentes (kundenavn, ordredato, bogtitel).
2. fra klausul: Viser de tabeller, der er involveret i sammenføjningen.
3. Deltag i klausuler: Tilslut tabeller baseret på fælles kolonner.
* `Deltag i ordrer o på c.customerid =O.CustomerID ':Tilslutter` kunder' og `ordrer 'i kolonnen' CustomerID '.
* `Deltag i ordreItems oi på o.Orderid =oi.OrderId`:Tilsluts` ordrer 'og `orderItems` på kolonnen` orderid'.
* `Deltag i bøger b på oi.bookId =B.BookId`:forbinder` orderItems` og `bøger 'i kolonnen' BookID '.
4. Bestilling efter klausul: Sorter resultaterne efter kundens efternavn og ordredato.
Nøglepunkter:
* Deltag i typer: Du kan bruge forskellige sammenføjningstyper som 'Venstre sammenføjning', 'Højre sammenføjning' eller 'Full Join' afhængigt af dine specifikke krav.
* aliaser: Brug af aliaser (f.eks. 'C' for 'kunder') gør forespørgslen mere læsbar.
* Kolonnenavne: Vær forsigtig med duplikatsøjlenavne på tværs af tabeller. Brug tabelaliaser (f.eks. `B.Title`) til at afklare.
* Optimering: For komplekse forespørgsler skal du overveje at bruge indekser på sammenføjningssøjlerne til forbedret ydelse.
Yderligere noter:
* Dette eksempel viser en grundlæggende sammenføjning ved hjælp af flere tabeller. Du kan ændre forespørgslen til at omfatte flere kolonner, filtre eller samlede funktioner baseret på dine specifikke behov.
* Klausulen "Bestil er valgfri, men hjælper med at organisere resultaterne på en meningsfuld måde.
Du er velkommen til at tilpasse dette eksempel til dit eget databaseskema.