Rozdiel medzi JOIN a UNION v SQL
Obsah
JOIN a UNION sú klauzuly v SQL, ktoré sa používajú na kombináciu údajov dvoch alebo viacerých vzťahov. Spôsob, akým kombinujú údaje a formát získaného výsledku, sa však líši. JOIN klauzula kombinuje atribúty dvoch vzťahov a vytvára výsledné n-tice, zatiaľ čo, UNION Klauzula kombinuje výsledok dvoch dopytov. Poďme diskutovať o rozdieloch medzi JOIN a UNION pomocou porovnávacej tabuľky uvedenej nižšie.
- Porovnávacia tabuľka
- definícia
- Kľúčové rozdiely
- záver
Porovnávacia tabuľka
Základ pre porovnanie | JOIN | UNION |
---|---|---|
základné | JOIN kombinuje atribúty n-tíc prítomných v dvoch rôznych vzťahoch, ktoré zdieľajú niektoré spoločné polia alebo atribúty. | UNION kombinuje n-tiny vzťahov, ktoré sú prítomné v dotaze. |
podmienka | JOIN je uplatniteľný, ak majú oba zúčastnené vzťahy aspoň jeden spoločný atribút. | ÚNIA je použiteľná, keď je počet stĺpcov prítomných v dotaze rovnaký a príslušné atribúty majú rovnakú doménu. |
druhy | VNÚTORNÁ, PLNÁ (VONKAJŠIA), ĽAVÁ PRIPOJENIE, PRAVÁ PRIPOJENIE | ÚNIA A ÚNIA VŠETKY. |
účinok | Dĺžka výsledných n-tíc je viac v porovnaní s dĺžkou n-tiek zúčastnených vzťahov. | Počet výsledných n-tíc je väčší v porovnaní s počtom n-tíc prítomných v každej relácii zahrnutej v dotaze. |
diagram |
|
Vymedzenie pojmu JOIN
JOIN Klauzula v SQL kombinuje n-tice z dvoch vzťahov alebo tabuliek, čo vedie k dlhšej veľkosti n-tice. Výsledná n-tica obsahuje atribúty z oboch vzťahov. Atribúty sa kombinujú na základe spoločných atribútov medzi nimi. Rôzne typy JOIN v SQL sú VNÚTORNÝ PRIPOJENÝ, ĽAVÝ PRIPOJENÝ, PRAVÝ PRIPOJENÝ, PLNÝ VONKAJŠÍ VÝSTUP.
VNÚTORNÝ PRIESTOR kombinuje n-tice z oboch tabuliek, pokiaľ medzi nimi existuje spoločný atribút. ĽAVÉ PRIPOJENIE výsledkom sú všetky n-tice ľavej tabuľky a zodpovedajúce n-tice z pravej tabuľky. PRÁVO PRIPOJIŤ výsledkom sú všetky n-tice z pravej tabuľky a iba zodpovedajúce n-tice z ľavej tabuľky. PLNÝ VONKAJŠÍ PRIESTOR výsledkom sú všetky n-tice z oboch tabuliek, aj keď majú alebo nemajú zodpovedajúce atribúty.
INNER JOIN je rovnaký ako JOIN. Môžete tiež zrušiť kľúčové slovo INNER a jednoducho použiť JOIN na vykonanie INNER JOIN.
Definícia únie
UNION je nastavená operácia v SQL. UNON kombinuje výsledok dvoch dopytov. Výsledok zjednotenia zahŕňa n-tice z oboch vzťahov prítomných v dotaze. Podmienky, ktoré musia byť splnené, sa vzťahujú na Úniu dvoch vzťahov:
- Tieto dva vzťahy musia mať rovnaký počet atribútov.
- Domény zodpovedajúcich atribútov musia byť rovnaké.
Existujú dva typy únie UNION a ÚNIA VŠETKY, Výsledok získaný pomocou programu UNION neobsahuje duplikáty. Na druhej strane, výsledok získaný pomocou UNION ALL si ponecháva duplikát.
- Primárny rozdiel medzi JOIN a UNION je v tom, že JOIN kombinuje n-tice z dvoch vzťahov a výsledné n-tice zahŕňajú atribúty z oboch vzťahov. Na druhej strane, únia kombinuje výsledok dvoch SELECT dotazov.
- Doložka JOIN je uplatniteľná iba vtedy, ak majú oba zúčastnené vzťahy aspoň jeden spoločný atribút. Na druhej strane je Únia uplatniteľná, ak majú dva vzťahy rovnaký počet atribútov a domény príslušných atribútov sú rovnaké.
- K dispozícii sú štyri typy spojenia VNÚTORNÉ PRIPOJENIE, ĽAVÉ PRIPOJENIE, PRAVÉ PRIPOJENIE, PLNE VONKAJŠIE PRIPOJENIE. Existujú však dva typy ÚNIE, ÚNIA a VŠETKY ÚNIE.
- V JOIN má výsledná n-tica väčšiu veľkosť, pretože obsahuje atribúty z obidvoch vzťahov. Na druhej strane, v Únii sa počet n-tíc zvyšuje v dôsledku zahrnutia n-tice z oboch vzťahov prítomných v dotaze.
záver:
Obe operácie kombinujúce údaje sa používajú v rôznych situáciách. JOIN sa používa, keď chceme kombinovať atribúty dvoch vzťahov, ktoré majú aspoň jeden spoločný znak. UNION sa používa, keď chceme kombinovať n-tice dvoch vzťahov, ktoré sú prítomné v dotaze.