SQL-forskjell mellom Union, Union All og Union Distinct Operators

Sql Forskjell Mellom Union Union All Og Union Distinct Operators



SQL gir oss UNION-operatoren som lar oss kombinere resultatsettene til to eller flere SELECT-setninger til et enkelt resultatsett. Det er tre hovedtyper av UNION-operatører i SQL: UNION, UNION ALL og UNION DISTINCT.

Denne opplæringen utforsker disse tre typene UNIONS og gir praktiske eksempler på hvordan du arbeider med dem.







MERK: I dette eksemplet vil vi bruke prøvedatabasen Sakila til demonstrasjonsformål. Sørg for at du har den installert før du utfører disse kommandoene. Du kan sjekke opplæringen vår om det for å lære mer.



SQL UNION-operatør

Som nevnt lar UNION-operatoren oss kombinere resultatsettet av to eller flere utvalgte setninger og fjerne dupliserte verdier. Syntaksen til UNION-operatøren er som følger:



VELG kolonne1, kolonne2, ...
FRA tabell 1
UNION
VELG kolonne1, kolonne2, ...
FRA tabell2;


I forrige eksempelsyntaks bruker vi SELECT-setningene for å hente dataene fra de spesifiserte tabellene. UNION-operatøren kombinerer deretter de to resultatsettene til ett sett. La oss ta et eksempel på hvordan du gjør dette ved å bruke aktørtabellen som er definert i Sakila-databasen.





Tenk på følgende eksempelspørring som henter fornavnet og etternavnet til aktørene fra aktørtabellen og kundens tabell:

VELG fornavn, etternavn
FRA skuespiller
UNION
VELG fornavn, etternavn
FRA kunde; VELG fornavn, etternavn
FRA skuespiller
UNION
VELG fornavn, etternavn
FRA kunde;


Den forrige spørringen henter inn for- og etternavn fra både aktør- og kundetabeller og returnerer verdiene som et enkelt resultat.



Et eksempelutgang er som følger:

SQL UNION ALL Operator

I motsetning til UNION-operatoren som fjerner duplikatverdiene fra resultatsettet, returnerer UNION-operatoren alle tabellenes rader inkludert duplikatene.

Syntaksen er som følger:

VELG kolonne1, kolonne2, ...
FRA tabell 1
UNION ALLE
VELG kolonne1, kolonne2, ...
FRA tabell2;


Følgende eksempel velger for- og etternavn fra skuespiller- og kundetabellene i Sakila-databasen:

VELG fornavn, etternavn
FRA skuespiller
UNION ALLE
VELG fornavn, etternavn
FRA kunde;


Et eksempelutgang er som følger:

SQL UNION DISTINCT-operatør

Den andre typen fagforeningsoperatør er UNION DISTINCT. Denne operatøren er ganske enkelt et duplikat av UNION-operatøren som utfører en lignende handling.

Syntaksen er som følger:

VELG kolonne1, kolonne2, ...
FRA tabell 1
UNION DISTINKT
VELG kolonne1, kolonne2, ...
FRA tabell2;


SELECT-setningene henter dataene fra de spesifiserte tabellene, og UNION DISTINCT-operatoren kombinerer resultatsettene til et enkelt resultatsett som inkluderer de unike radene.

I eksemplet med Sakila-databasen kan vi kjøre følgende kommando:

VELG fornavn, etternavn
FRA skuespiller
UNION DISTINKT
VELG fornavn, etternavn
FRA kunde;


Dette skal gi et lignende resultat som UNION-operatøren.

Konklusjon

Vi lærte å jobbe med de ulike typene UNIONS i SQL. UNION-operatoren kombinerer resultatsettet av to eller flere utvalgssetninger og fjerner de dupliserte postene. UNION ALL utfører en lignende handling, men inkluderer alle dupliserte rader. Til slutt er UNION DISTINCT identisk med en innfødt UNION-operatør.