Verschil tussen JOIN en UNION in SQL

Schrijver: Laura McKinney
Datum Van Creatie: 2 April 2021
Updatedatum: 5 Kunnen 2024
Anonim
Inner Join, Left Join, Right Join and Full Outer Join in SQL Server | SQL Server Joins
Video: Inner Join, Left Join, Right Join and Full Outer Join in SQL Server | SQL Server Joins

Inhoud


JOIN en UNION zijn de clausules in SQL, die worden gebruikt om de gegevens van twee of meer relaties te combineren. Maar de manier waarop ze gegevens en indeling van het verkregen resultaat combineren, verschilt. De JOIN clausule combineert de attributen van twee relaties om de resulterende tupels te vormen terwijl, UNIE clausule combineert het resultaat van twee query's. Laten we het verschil tussen JOIN en UNION bespreken met behulp van de onderstaande vergelijkingstabel.

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingJOINUNIE
basis-JOIN combineert attributen van de tupels die aanwezig zijn in de twee verschillende relaties die enkele gemeenschappelijke velden of attributen delen.UNION combineert tupels van de relaties die aanwezig zijn in de query.
StaatJOIN is van toepassing wanneer de twee betrokken relaties ten minste één gemeenschappelijk kenmerk hebben.UNION is van toepassing wanneer het aantal kolommen in de query hetzelfde is en de bijbehorende attributen hetzelfde domein hebben.
SoortenBINNEN, VOLLEDIG (BUITEN), LINKS KOPPELEN, RECHTS KOPPELEN.UNION en UNION ALL.
EffectDe lengte van de resulterende tupels is meer in vergelijking met de lengte van tupels van de betrokken relaties.Het aantal resulterende tupels is meer in vergelijking met het aantal tupels dat aanwezig is in elke relatie die bij de zoekopdracht betrokken is.
Diagram



Definitie van JOIN

JOIN clausule in SQL combineert de tupels uit twee relaties of tabellen resulterend in een langere tupelgrootte. De resulterende tuple bevat attributen uit beide relaties. Attributen worden gecombineerd op basis van de gemeenschappelijke attributen daartussen. De verschillende typen JOIN in SQL zijn BINNEN KOPPELEN, LINKS KOPPELEN, RECHTS KOPPELEN, VOLLEDIGE BUITENKANT.

BINNENKANTE combineert tupels uit beide tabellen zolang er een gemeenschappelijk kenmerk tussen beide bestaat. LINKS AANSLUITEN resulteert in alle tupels van de linkertabel en bijpassende tuple uit de rechtertabel. RECHTS AANSLUITEN resulteert in alle tupels uit de rechter tabel en alleen overeenkomende tupels uit de linker tabel. VOLLEDIGE BUITENKANTE resulteert in alle tupels uit beide tabellen hoewel ze overeenkomende attributen hebben of niet.


INNER JOIN is hetzelfde als de JOIN. Je kunt ook het INNER trefwoord verwijderen en gewoon JOIN gebruiken om INNER JOIN uit te voeren.

Definitie van UNION

UNION is een vaste bewerking in SQL. UNON combineert het resultaat van twee vragen. Het resultaat van UNION bevat de tupels van beide relaties in de query. De voorwaarden waaraan moet worden voldaan, zijn de UNIE van twee relaties:

  1. De twee relaties moeten hetzelfde aantal attributen hebben.
  2. De domeinen van het overeenkomstige kenmerk moeten hetzelfde zijn.

Er zijn twee soorten UNION die zijn UNIE en UNIE ALLEN. Het resultaat verkregen met UNION bevat geen duplicaten. Aan de andere kant behoudt het resultaat dat is verkregen met UNION ALL duplicaat.

  1. Het primaire verschil tussen JOIN en UNION is dat JOIN de tupels uit twee relaties combineert en de resulterende tupels attributen uit beide relaties bevatten. Aan de andere kant combineert de UNION het resultaat van twee SELECT-query's.
  2. De JOIN-clausule is alleen van toepassing wanneer de twee betrokken relaties ten minste één kenmerk gemeenschappelijk hebben in beide. Anderzijds is de UNION van toepassing wanneer de twee relaties hetzelfde aantal attributen hebben en de domeinen van overeenkomstige attributen hetzelfde zijn.
  3. Er zijn vier soorten JOIN INNER JOIN, LINKS JOIN, RECHTS JOIN, FULL OUTER JOIN. Maar er zijn twee soorten UNION, UNION en UNION ALL.
  4. In JOIN heeft de resulterende tuple de grotere grootte omdat deze attributen uit beide relaties bevat. Aan de andere kant wordt in UNION het aantal tupels verhoogd, waardoor de tupel uit beide relaties aanwezig is in de query.

Gevolgtrekking:

Beide gegevenscombinerende bewerkingen worden in verschillende situaties gebruikt. JOIN wordt gebruikt wanneer we attributen van twee relaties willen combineren die ten minste één kenmerk gemeenschappelijk hebben. UNION wordt gebruikt wanneer we de tupels van de twee relaties die aanwezig zijn in de query willen combineren.