SQL-forskel mellem Union, Union All og Union Distinct Operators

Sql Forskel Mellem Union Union All Og Union Distinct Operators



SQL giver os UNION-operatoren, der giver os mulighed for at kombinere resultatsættene af to eller flere SELECT-sætninger til et enkelt resultatsæt. Der er tre hovedtyper af UNION-operatorer i SQL: UNION, UNION ALL og UNION DISTINCT.

Denne tutorial udforsker disse tre typer UNIONS og giver praktiske eksempler på at arbejde med dem i den virkelige verden.







BEMÆRK: I dette eksempel vil vi bruge prøvedatabasen Sakila til demonstrationsformål. Sørg for, at du har det installeret, før du udfører disse kommandoer. Du kan tjekke vores tutorial om det for at lære mere.



SQL UNION operatør

Som nævnt giver UNION-operatoren os mulighed for at kombinere resultatsættet af to eller flere udvalgte sætninger og fjerne de duplikerede værdier. Syntaksen for UNION-operatoren er som følger:



VÆLG kolonne1, kolonne2, ...
FRA tabel 1
UNION
VÆLG kolonne1, kolonne2, ...
FRA tabel2;


I det foregående eksempelsyntaks bruger vi SELECT-sætningerne til at hente data fra de angivne tabeller. UNION-operatoren kombinerer derefter de to resultatsæt til ét sæt. Lad os tage et eksempel på, hvordan man gør dette ved at bruge aktørtabellen, der er defineret i Sakila-databasen.





Overvej følgende eksempelforespørgsel, der henter fornavnet og efternavnet på skuespillerne fra skuespillertabellen og kundens tabel:

VÆLG fornavn, efternavn
FRA skuespiller
UNION
VÆLG fornavn, efternavn
FRA kunde; VÆLG fornavn, efternavn
FRA skuespiller
UNION
VÆLG fornavn, efternavn
FRA kunde;


Den tidligere forespørgsel optager for- og efternavne fra både aktør- og kundetabellerne og returnerer værdierne som et enkelt resultat.



Et eksempel på output er som følger:

SQL UNION ALL Operatør

I modsætning til UNION-operatoren, der fjerner duplikatværdierne fra resultatsættet, returnerer UNION-operatoren alle tabellernes rækker inklusive dubletterne.

Syntaksen er som følger:

VÆLG kolonne1, kolonne2, ...
FRA tabel 1
UNION ALLE
VÆLG kolonne1, kolonne2, ...
FRA tabel2;


Følgende eksempel vælger for- og efternavn fra skuespiller- og kundetabellerne i Sakila-databasen:

VÆLG fornavn, efternavn
FRA skuespiller
UNION ALLE
VÆLG fornavn, efternavn
FRA kunde;


Et eksempel på output er som følger:

SQL UNION DISTINCT-operatør

Den anden type fagforeningsoperatør er UNION DISTINCT. Denne operatør er simpelthen et duplikat af UNION-operatøren, som udfører en lignende handling.

Syntaksen er som følger:

VÆLG kolonne1, kolonne2, ...
FRA tabel 1
UNION DISTINK
VÆLG kolonne1, kolonne2, ...
FRA tabel2;


SELECT-sætningerne henter dataene fra de angivne tabeller, og UNION DISTINCT-operatoren kombinerer resultatsættene til et enkelt resultatsæt, der inkluderer de unikke rækker.

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

VÆLG fornavn, efternavn
FRA skuespiller
UNION DISTINK
VÆLG fornavn, efternavn
FRA kunde;


Dette skulle returnere et lignende resultat som UNION-operatøren.

Konklusion

Vi lærte at arbejde med de forskellige typer UNIONS i SQL. UNION-operatoren kombinerer resultatsættet af to eller flere udvalgte sætninger og fjerner de duplikerede poster. UNION ALL udfører en lignende handling, men inkluderer alle duplikerede rækker. Endelig er UNION DISTINCT identisk med en indfødt UNION-operatør.