Skillnaden mellan JOIN och UNION i SQL

Författare: Laura McKinney
Skapelsedatum: 2 April 2021
Uppdatera Datum: 5 Maj 2024
Anonim
Databasteknik, relationsdatabaser och SQL (med Mikael)
Video: Databasteknik, relationsdatabaser och SQL (med Mikael)

Innehåll


JOIN och UNION är klausuler i SQL, som används för att kombinera data från två eller flera relationer. Men hur de kombinerar data och format på det erhållna resultatet skiljer sig åt. De ANSLUTA SIG klausul kombinerar attributen för två relationer för att bilda de resulterande tuplorna medan UNION klausul kombinerar resultatet av två frågor. Låt oss diskutera skillnaden mellan JOIN och UNION med hjälp av jämförelsediagram som visas nedan.

  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelseANSLUTA SIGUNION
GrundläggandeJOIN kombinerar attribut på tuplorna som finns i de två olika relationerna som delar några vanliga fält eller attribut.UNION kombinerar delar av relationerna som finns i frågan.
SkickJOIN är tillämplig när de två inblandade relationerna har minst ett gemensamt attribut.UNION är tillämpligt när antalet kolumner som finns i frågan är samma och motsvarande attribut har samma domän.
typerINNER, FULL (YTTER), VENSTRE GÅ MED, RÄTT GÅ MED.UNION och UNION ALL.
EffektLängden på de resulterande tuplorna är mer jämfört med längden på tuplorna i de inblandade relationerna.Antalet resulterande tuplor är mer jämfört med antalet tuplor som finns i varje förhållande som är involverat i frågan.
Diagram



Definition av JOIN

ANSLUTA SIG klausul i SQL kombinerar tuple från två relationer eller tabeller vilket resulterar i en längre tupelstorlek. Den resulterande tupeln innehåller attribut från båda relationerna. Attribut kombineras baserat på de gemensamma attributen mellan dem. De olika typerna av JOIN i SQL är INNER JOIN, VENSTRE JOIN, RIGHT JOIN, FULL OUTER JOIN.

INRE KOPPLING kombinerar tuples från båda borden så länge det finns ett gemensamt attribut mellan båda. Vänster gå med resulterar i alla tupplar i det vänstra bordet och matchande tupel från det högra bordet. RÄTT GÅ MED resulterar i alla tupplar från det högra bordet och endast matchande tupel från det vänstra bordet. FULL YTTERLEDNING resulterar i alla tuples från båda tabellerna men de har matchande attribut eller inte.


INNER JOIN är samma som JOIN. Du kan också släppa INNER-nyckelordet och helt enkelt använda JOIN för att utföra INNER JOIN.

Definition av UNION

UNION är en uppsättning operation i SQL. UNON kombinerar resultatet av två frågor. Resultatet av UNION inkluderar tuples från båda relationerna som finns i frågan. De villkor som måste uppfyllas för att UNION ska ha två förbindelser är:

  1. De två relationerna måste ha samma antal attribut.
  2. Domänerna för motsvarande attribut måste vara samma.

Det finns två typer av UNION som är UNION och UNION ALLA. Resultatet som erhållits med hjälp av UNION inkluderar inte dubbletter. Å andra sidan behåller resultatet som erhålls med UNION ALL duplikat.

  1. Den primära skillnaden mellan JOIN och UNION är att JOIN kombinerar tuples från två relationer och de resulterande tuplesna inkluderar attribut från båda relationerna. Å andra sidan kombinerar UNION resultatet av två SELECT-frågor.
  2. JOIN-klausulen är endast tillämplig när de två inblandade relationerna har minst ett attribut gemensamt i båda. Å andra sidan är UNION tillämplig när de två relationerna har samma antal attribut och domänerna för motsvarande attribut är desamma.
  3. Det finns fyra typer av JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. Men det finns två typer av UNION, UNION och UNION ALL.
  4. I JOIN har den resulterande tupeln den större storleken eftersom den innehåller attribut från båda relationerna. Å andra sidan ökar antalet tupler i UNION, vilket inkluderar tupeln från båda relationerna som finns i frågan.

Slutsats:

Båda är datakombinerande operationer används i olika situationer. JOIN används när vi vill kombinera attribut för två relationer med minst ett attribut gemensamt. UNION används när vi vill kombinera tupplarna i de två relationerna som finns i frågan.