logo

Forskjellen mellom Union og Union All

UNION og UNION ALL er de to viktigste SQL-operatorene som brukes i databasen for å kombinere resultatsettet fra flere tabeller. Disse operatørene lar oss bruke flere SELECT-spørringer, hente de ønskede resultatene og deretter kombinere dem til en endelig utgang . I denne artikkelen skal vi se hvordan de er forskjellige fra hverandre. Før vi foretar en sammenligning, vil vi kort diskutere disse operatørene.

Hva er en unionsoperatør?

Union-operatør i MySQL lar oss kombinere to eller flere resultater fra flere SELECT-spørringer til et enkelt resultatsett. Den har en standardfunksjon til fjern de dupliserte radene fra bordene. Denne operatorsyntaksen bruker alltid kolonnenavnet i den første SELECT-setningen til å være kolonnenavnene til utdataene.

MySQL Unionen må følge disse grunnleggende reglene:

  • Antallet og rekkefølgen på kolonnene skal være det samme i alle søk.
  • Den korresponderende kolonneposisjonen for hvert utvalgsspørring må ha en kompatibel datatype.
  • Kolonnenavnet som er valgt i de forskjellige SELECT-spørringene, må være i samme rekkefølge.
  • Kolonnenavnet til den første SELECT-spørringen vil være kolonnenavnene til utdataene.

MERK: Vi må vite at Union og Join er forskjellige.

  1. JOIN kombinerer data fra flere forskjellige tabeller, mens UNION kombinerer data fra flere lignende tabeller.
  2. JOIN legger utdataene horisontalt, mens UNION kombinerer resultatsettet vertikalt.

Den visuelle representasjonen nedenfor forklarer det tydeligere:

Union vs Union All

For å lese mer informasjon om Union-operatøren, klikk her.

Hva er Union All?

UNION ALL-operatoren kombinerer to eller flere resultater fra flere SELECT-spørringer og returnerer alle poster til ett enkelt resultatsett. Den fjerner ikke de dupliserte radene fra utdataene til SELECT-setningene.

Vi kan forstå det med følgende visuelle representasjon.

Union vs Union All

Union vs. Union All Operator

Følgende sammenligningstabell forklarer hovedforskjellene deres på en rask måte:

UNION UNION ALLE
Den kombinerer resultatsettet fra flere tabeller og returnerer distinkte poster i ett enkelt resultatsett. Den kombinerer resultatsettet fra flere tabeller og returnerer alle poster i ett enkelt resultatsett.
Følgende er det grunnleggende syntaks av UNION-operatør:
VELG kolonneliste FRA tabell1
UNION
VELG kolonneliste FRA tabell2;
Følgende er det grunnleggende syntaks av UNION ALL-operatør:
VELG kolonneliste FRA tabell1
UNION ALLE
VELG kolonneliste FRA tabell2;
Den har en standardfunksjon for å eliminere dupliserte rader fra utdataene. Den har ingen funksjon for å eliminere dupliserte rader fra utdataene.
Det er ytelsen er treg fordi det tar tid å finne og deretter fjerne dupliserte poster. Det er ytelsen er rask fordi det ikke eliminerer dupliserte rader.
De fleste databasebrukere foretrekker å bruke denne operatoren. De fleste databasebrukere foretrekker ikke å bruke denne operatoren.

Union og Union Alle eksempel

La oss forstå forskjellene mellom Union og Union Alle operatører gjennom et eksempel. Anta at vi har en tabell som heter ' Student ' og ' Student 2 ' som inneholder følgende data:

Tabell: Student

Union vs Union All

Tabell: Student2

Union vs Union All

Etter SQL-setning returnerer tydelig navn på byer fra begge tabellene ved å bruke UNION-spørringen:

 SELECT City FROM student UNION SELECT City FROM student2 ORDER BY City; 

Etter å ha utført setningen ovenfor, vil vi få utdataene nedenfor fordi unionsoperatøren bare returnerer de distinkte verdiene.

Union vs Union All

Følgende SQL-setning returnerer alle bynavn inkludert duplikater fra begge tabellene ved å bruke UNION ALL-spørringen:

 SELECT City FROM student UNION ALL SELECT City FROM student2 ORDER BY City; 

Etter å ha utført setningen ovenfor, vil vi få utdataene nedenfor fordi Union All-operatøren returnerer hele poster uten å eliminere distinkte verdier.

Union vs Union All