logo

Forskellen mellem Union og Union All

UNION og UNION ALL er de to vigtigste SQL-operatorer, der bruges i databasen til at kombinere resultatsættet fra flere tabeller. Disse operatører giver os mulighed for at bruge flere SELECT-forespørgsler, hente de ønskede resultater og derefter kombinere dem til et endeligt output . I denne artikel skal vi se, hvordan de er forskellige fra hinanden. Før vi foretager en sammenligning, vil vi kort diskutere disse operatører.

Hvad er en unionsoperatør?

Union-operatør i MySQL giver os mulighed for at kombinere to eller flere resultater fra flere SELECT-forespørgsler til et enkelt resultatsæt. Den har en standardfunktion til fjern de duplikerede rækker fra bordene. Denne operatorsyntaks bruger altid kolonnens navn i den første SELECT-sætning til at være kolonnenavnene på outputtet.

MySQL Unionen skal følge disse grundlæggende regler:

  • Antallet og rækkefølgen af ​​kolonnerne skal være det samme i alle forespørgsler.
  • Den tilsvarende kolonneposition for hver udvalgte forespørgsel skal have en kompatibel datatype.
  • Kolonnenavnet, der er valgt i de forskellige SELECT-forespørgsler, skal være i samme rækkefølge.
  • Kolonnenavnet på den første SELECT-forespørgsel vil være kolonnenavnene på outputtet.

BEMÆRK: Vi skal vide, at Union og Join er forskellige.

  1. JOIN kombinerer data fra flere forskellige tabeller, hvorimod UNION kombinerer data fra flere lignende tabeller.
  2. JOIN tilføjer output vandret, mens UNION kombinerer resultatet lodret.

Nedenstående visuelle repræsentation forklarer det mere tydeligt:

Union vs Union Alle

For at læse mere information om Union-operatøren, klik her.

Hvad er Union All?

UNION ALL-operatoren kombinerer to eller flere resultater fra flere SELECT-forespørgsler og returnerer alle poster i et enkelt resultatsæt. Det fjerner ikke de duplikerede rækker fra outputtet af SELECT-sætningerne.

Vi kan forstå det med følgende visuelle repræsentation.

Union vs Union Alle

Union vs. Union All Operatør

Følgende sammenligningstabel forklarer deres vigtigste forskelle på en hurtig måde:

UNION UNION ALLE
Den kombinerer resultatsættet fra flere tabeller og returnerer forskellige poster i et enkelt resultatsæt. Den kombinerer resultatsættet fra flere tabeller og returnerer alle poster i et enkelt resultatsæt.
Følgende er det grundlæggende syntaks af UNION operatør:
VÆLG kolonneliste FRA tabel1
UNION
VÆLG kolonneliste FRA tabel2;
Følgende er det grundlæggende syntaks af UNION ALL-operatør:
VÆLG kolonneliste FRA tabel1
UNION ALLE
VÆLG kolonneliste FRA tabel2;
Den har en standardfunktion til at fjerne de duplikerede rækker fra outputtet. Den har ingen funktion til at fjerne de duplikerede rækker fra outputtet.
Dens ydeevnen er langsom fordi det tager tid at finde og derefter fjerne duplikerede poster. Dens ydeevnen er hurtig fordi det ikke eliminerer de duplikerede rækker.
De fleste databasebrugere foretrækker at bruge denne operator. De fleste databasebrugere foretrækker ikke at bruge denne operator.

Union og Union Alle Eksempel

Lad os forstå forskellene mellem Union og Union Alle operatører gennem et eksempel. Antag, at vi har en tabel ved navn ' Studerende 'og' Elev 2 ', der indeholder følgende data:

Tabel: Elev

Union vs Union Alle

Tabel: Elev2

Union vs Union Alle

Efter SQL-sætning returnerer særskilt navn på byer fra begge tabeller ved hjælp af UNION-forespørgslen:

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

Efter at have udført ovenstående erklæring, vil vi få nedenstående output, fordi unionsoperatøren kun returnerer de forskellige værdier.

Union vs Union Alle

Følgende SQL-sætning returnerer alle bynavne inklusive dubletter fra begge tabeller ved hjælp af UNION ALL-forespørgslen:

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

Efter at have udført ovenstående sætning, vil vi få nedenstående output, fordi Union All-operatøren returnerer hele poster uden at eliminere særskilte værdier.

Union vs Union Alle