Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vnútorné spojenie v SQL Server 2000 kombinuje riadky z dvoch tabuliek na základe zodpovedajúceho stavu medzi zadanými stĺpcami. Vráti iba tie riadky, kde v oboch tabuľkách je zodpovedajúca hodnota.
Tu je porucha:
1. Spojenie dvoch tabuliek:
- Potrebujete dve tabuľky s súvisiacimi údajmi, ktoré chcete kombinovať. Napríklad tabuľka „zákazníkov“ a tabuľka objednávok s bežným stĺpcom ako „CustomerID“.
2. Podmienka spojenia:
- Určite stav, ktorý sa musí splniť, aby sa riadky spojili. Táto podmienka zvyčajne zahŕňa porovnanie stĺpca z prvej tabuľky s stĺpcom z druhej tabuľky.
3. Výsledné riadky:
- Vnútorné spojenie vytvára novú tabuľku výsledkov obsahujúcu iba riadky, v ktorých je podmienka spojenia pravdivá. Inými slovami, obsahuje iba riadky, ktoré majú v oboch tabuľkách zodpovedajúcu hodnotu.
Syntax:
`` sql
Vyberte stĺpec1, stĺpec2, ...
Z tabuľky1
Vnútorná tabuľka 2 na stránkach COINT_CONDITION;
`` `
Príklad:
Povedzme, že máte tabuľku „zákazníkov“ a tabuľku objednávok:
Tabuľka zákazníkov:
| CustomerID | Názov |
| --- | --- |
| 1 | John Doe |
| 2 | Jane Doe |
| 3 | David Smith |
Objednávky Tabuľka:
| OrderID | CustomerID | Produkt |
| --- | --- | --- |
| 101 | 1 | Notebook
| 102 | 2 | Smartphone
| 103 | 1 | Klávesnica
Ak chcete získať všetkých zákazníkov a ich objednávky pomocou vnútorného spojenia:
`` sql
Vyberte C.Name, O.orderid, O.Product
Od zákazníkov c
Vnútorné príkazy O na C.CustomerID =O.CustomerID;
`` `
Výsledok:
| Názov | OrderID | Produkt |
| --- | --- | --- |
| John Doe | 101 | Notebook
| John Doe | 103 | Klávesnica
| Jane Doe | 102 | Smartphone
Vysvetlenie:
- Query vyberie `name` z tabuľky` zákazníkov (aliared ako `C`) a` orderID` a `produkt" z tabuľky `Orders" (Aliased ako "O").
- Klauzula „Inner Connect` pripojí tabuľky pomocou stĺpca„ CustomerID`.
- klauzula `on` určuje podmienku spojenia:` C.CustomerID =o.customerID`. To zaisťuje, že sú zahrnuté iba riadky so zodpovedajúcimi hodnotami „CustomerID“.
Kľúčové body:
- Vnútorné pripojenia sú najbežnejším typom spojenia.
- Zahŕňajú iba riadky, v ktorých je zhoda v oboch tabuľkách.
- Môžete sa pripojiť k viacerým tabuľkám pomocou viacerých klauzingov „vnútorného spojenia“.
Dôležité:
- Na serveri SQL Server 2000 je kľúčové slovo „vnútorné spojenie“ voliteľné a je možné ho nahradiť `join`.
- Odporúča sa používať „vnútorné spojenie“ kvôli jasnosti a vyhnúť sa zmätkom s inými typmi pripojení (napríklad vľavo a vpravo pripojenia).