Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Tu je príklad spojenia štyroch tabuliek na serveri SQL Server, spolu s vysvetleniami:
scenár: Predstavte si databázu pre kníhkupectvo:
* Zákazníci: Ukladá informácie o zákazníkoch (CustomerID, krstné meno, priezvisko, e -mail)
* objednávky: Obsahuje údaje o objednávke (OrderID, CustomerID, Orderdate, TotalAMount)
* OrderItems: Zoznam položiek v každej objednávke (OrderItemiD, OrderID, BookID, Množstvo)
* Knihy: Drží informácie o každej knihe (Bookid, titul, autor, cena)
Cieľ: Získajte zoznam mien zákazníkov, dátumov objednávok a titulov kníh, ktoré si kúpili.
`` sql
Vybraný
C.FirstName,
C.LastName,
O.Orderdate,
B.Title ako Booktitle
Od
Zákazníci c
Pripojiť sa
Objednávky O na C.CustomerID =O.CustomerID
Pripojiť sa
OrderItems Oi na O.orderID =oi.orderID
Pripojiť sa
Knihy B na oi.bookid =b.bookid
Podľa
C.LastName, O.OrderDate;
`` `
Vysvetlenie:
1. Vyberte klauzulu: Určuje načítanie stĺpcov (názov zákazníka, dátum objednávky, názov knihy).
2. z klauzuly: Uvádza tabuľky zapojené do pripojenia.
3. Pripojte sa k klauzulám: Pripojte tabuľky založené na bežných stĺpcoch.
* `Pripojte sa k objednávkam na C.CustomerID =O.CustomerID`:Pripojuje` zákazníkov` a `objednáva sa v stĺpci„ CustomerID`.
* `Pripojte sa k OrderItems oi na O.orderID =oi.orderID`:Pripojene` Orders` a `OrderItems` v stĺpci` orderid`.
* `Spojte knihy B on Oi.BookID =b.BookID`:Pripojene` OrderItems` a `Books` v stĺpci` Bookid`.
4. Objednávka podľa klauzuly: Zoradí výsledky podľa priezviska zákazníka a dátumu objednávky.
Kľúčové body:
* Pripojte sa typy: V závislosti od vašich konkrétnych požiadaviek môžete použiť rôzne typy spojení, ako napríklad „Left Intern“, `Right Intert` alebo Full Connect.
* aliasy: Použitie alias (napr. „C` pre„ zákazníkov “) robí dotaz čitateľnejším.
* Názvy stĺpcov: Dávajte pozor na duplicitné názvy stĺpcov naprieč tabuľkami. Na objasnenie použite aliasy tabuľky (napr. „B.Title`).
* Optimalizácia: V prípade komplexných dopytov zvážte použitie indexov v stĺpcoch spojenia na zlepšenie výkonu.
Ďalšie poznámky:
* Tento príklad demonštruje základné spojenie pomocou viacerých tabuliek. Dotaz môžete upraviť tak, aby obsahoval viac stĺpcov, filtrov alebo agregovaných funkcií na základe vašich konkrétnych potrieb.
* Klauzula „Order By“ je voliteľná, ale pomáha organizovať výsledky zmysluplným spôsobom.
Neváhajte a prispôsobte tento príklad svojej vlastnej schéme databázy.
V Exchange Server 2007 Enterprise Edition sú maximálne odporúčané databázy na jednom serveri 4.