V SQL, a pripojiť sa používa na porovnanie a kombinovanie - doslova spojenie - a vrátenie konkrétnych riadkov údajov z dvoch alebo viacerých tabuliek v databáze. vnútorné spojenie nájde a vráti zodpovedajúce údaje z tabuliek, zatiaľ čo vonkajšie spojenie nájde a vráti zodpovedajúce údaje a niektoré odlišné údaje z tabuliek.
Vnútorné spojenie sa zameriava na zhodnosť medzi dvoma tabuľkami. Pri použití vnútorného spojenia musí existovať aspoň niekoľko porovnávacích údajov medzi dvoma (alebo viacerými) tabuľkami, ktoré sa porovnávajú. Vnútorné spojenie vyhľadáva tabuľky, či sa zhodujú alebo prekrývajú údaje. Po jeho nájdení kombinuje vnútorná spojka a vracia informácie do jednej novej tabuľky.
Uvažujme o spoločnom scenári dvoch tabuliek: ceny produktov a množstvá. Spoločnou informáciou v týchto dvoch tabuľkách je názov produktu, takže logický stĺpec na pripojenie k tabuľkám na. V týchto dvoch tabuľkách sú bežné niektoré výrobky; iné sú jedinečné pre jednu z tabuliek a v druhej tabuľke sa nezhodujú.
Vnútorné spojenie Produkty vracia informácie iba o produktoch, ktoré sú bežné v oboch tabuľkách.
Vonkajšie spojenie vráti množinu záznamov (alebo riadkov), ktoré obsahujú to, čo by sa vrátilo vnútorné spojenie, ale zahŕňa aj ďalšie riadky, pre ktoré sa v inej tabuľke nenašla žiadna zodpovedajúca zhoda..
Existujú tri typy vonkajších spojení:
Každý z týchto vonkajších spojení sa týka časti údajov, ktorá sa porovnáva, kombinuje a vracia. V tomto procese sa niekedy vytvoria nuly, pretože niektoré údaje sa zdieľajú, zatiaľ čo iné nie.
Ľavé vonkajšie spojenie vráti všetky údaje v tabuľke 1 a všetky zdieľané údaje (teda vnútornú časť príkladu Venn diagramu), ale iba zodpovedajúce údaje z tabuľky 2, čo je správne spojenie.
V našej ukážkovej databáze sú na ľavej strane dva produkty - pomaranče a paradajky (ceny tabuľka), ktoré neobsahujú zodpovedajúci záznam v „práve“ (tabuľka množstiev). V ľavom spojení sú tieto riadky zahrnuté do sady výsledkov s NULL v stĺpci Množstvo. Ostatné riadky vo výsledku sú rovnaké ako vnútorné spojenie.
Pravé vonkajšie spojenie vráti údaje z tabuľky 2 a všetky zdieľané údaje, ale iba zodpovedajúce údaje z tabuľky 1, ktorá je ľavým spojením.
Podobne ako v prípade ľavého spoja, výstup pravého vonkajšieho spoja zahŕňa všetky riadky vnútorného spoja a dva riadky - brokolicu a tekvicu - od „pravého“ (množstvo tabuľka), ktoré neobsahujú zodpovedajúce záznamy vľavo.
Úplné vonkajšie spojenie alebo úplné spojenie, ktoré je nie podporuje populárny systém správy databáz MySQL, kombinuje a vracia všetko údaje z dvoch alebo viacerých tabuliek, bez ohľadu na to, či existujú zdieľané informácie. Úplné spojenie považujte za jednoduché duplikovanie všetkých zadaných informácií, ale v jednej tabuľke namiesto viacerých tabuliek. Ak chýbajú zodpovedajúce údaje, vzniknú nulové hodnoty.
Toto sú len základy, ale mnoho vecí sa dá urobiť pomocou spojenia. Existujú dokonca aj spojenia, ktoré môžu vylúčiť ďalšie spojenia!
Toto video vysvetľuje rozdiel medzi rôznymi typmi spojení. Začína sa v mieste, kde začína diskusia o pripojení.