Odporúčaná, 2024

Redakcia Choice

Rozdiel medzi JOIN a UNION v SQL

JOIN a UNION sú klauzuly v SQL, ktoré sa používajú na kombináciu údajov dvoch alebo viacerých vzťahov. Ale spôsob, akým kombinujú údaje a formát získaného výsledku, sa líši. Klauzula JOIN kombinuje atribúty dvoch vzťahov a vytvára výsledné tóny, zatiaľ čo doložka UNION kombinuje výsledok dvoch otázok. Prediskutujeme rozdiel medzi spoločnosťou JOIN a UNION s pomocou porovnávacej tabuľky uvedenej nižšie.

Porovnávacia tabuľka

Základ pre porovnanieJOINUNION
základnéJOIN kombinuje atribúty n-tíc prítomných v dvoch rôznych vzťahoch, ktoré zdieľajú niektoré bežné polia alebo atribúty.Spoločnosť UNION kombinuje väzby vzťahov, ktoré sú prítomné v dopyte.
podmienkaJOIN je použiteľná, keď obidve vzťahy, ktoré majú, majú aspoň jeden spoločný atribút.UNION je použiteľná, ak je počet stĺpcov prítomných v dopyte rovnaký a príslušné atribúty majú rovnakú doménu.
druhyINNER, FULL (VONKAJŠIA), ĽAVÁ SPOJKA, PRAVÁ SPOJKA.UNION a UNION ALL.
účinokDĺžka výsledných n-tíc je viac v porovnaní s dĺžkou n-túl príslušných vzťahov.Počet výsledných n-tíc je viac v porovnaní s počtom n-tíc prítomných v každom vzťahu zahrnutom do dotazu.
diagram

Definícia JOIN

Klauzula JOIN v SQL kombinuje n-tice z dvoch vzťahov alebo tabuliek, čo má za následok dlhšiu veľkosť n-tice. Výsledná n-tka obsahuje atribúty z oboch vzťahov. Atribúty sú kombinované na základe spoločných atribútov medzi nimi. Rôzne typy JOIN v SQL sú INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.

INNER JOIN kombinuje netypov z oboch tabuliek, pokiaľ medzi nimi existuje spoločný atribút. LEFT JOIN má za následok všetky n-tiny ľavého stola a zodpovedajúcu n-tiku z pravého stola. RIGHT JOIN má za výsledok všetky n-tice z pravého stola a iba zhodné n-tice z ľavého stola. FULL OUTER JOIN má za následok všetky n-tice z obidvoch tabuliek, aj keď majú zodpovedajúce atribúty alebo nie.

INNER JOIN je rovnaká ako JOIN. Môžete tiež zadať INNER kľúčové slovo a jednoducho použiť JOIN na vykonanie INNER JOIN.

Definícia UNION

UNION je nastavená operácia v SQL. UNON kombinuje výsledok dvoch otázok. Výsledok UNION obsahuje n-tice z oboch vzťahov prítomných v dotaze. Podmienky, ktoré musia byť splnené, majú mať UNION dva vzťahy:

  1. Tieto dva vzťahy musia mať rovnaký počet atribútov.
  2. Domény zodpovedajúceho atribútu musia byť rovnaké.

Existujú dva typy UNION, ktoré sú UNION a UNION ALL . Výsledok získaný pomocou UNION nezahŕňa duplikáty. Na druhej strane výsledok získaný pomocou UNION ALL si zachová duplikát.

Kľúčové rozdiely medzi JOIN a UNION v SQL

  1. Primárny rozdiel medzi JOIN a UNION je, že JOIN kombinuje n-tice z dvoch vzťahov a výsledné n-tiny obsahujú atribúty z oboch vzťahov. Na druhej strane UNION kombinuje výsledok dvoch dotazov SELECT.
  2. Klauzula JOIN je uplatniteľná iba v prípade, že obidva vzťahy majú aspoň jeden atribút spoločný v obidvoch. Na druhej strane je UNION uplatniteľný, ak majú oba vzťahy rovnaký počet atribútov a domény príslušných atribútov sú rovnaké.
  3. Existujú štyri typy spojenia vnútorné spojenie, ľavé spojenie, pravé spojenie, plné vonkajšie spojenie. Existujú však dva typy UNIE, UNION a UNION ALL.
  4. V JOIN má výsledná n-tka väčšiu veľkosť, pretože obsahuje atribúty z oboch vzťahov. Na druhej strane, v UNION sa zvyšuje počet n-tíc, čo zahŕňa n-ticu z obidvoch 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 atribút spoločný. UNION sa používa, keď chceme skombinovať tzv. Nupy dvoch vzťahov, ktoré sú prítomné v dopyte.

Top