SQL Verschil tussen Union, Union All en Union Distinct Operators

Sql Verschil Tussen Union Union All En Union Distinct Operators



SQL voorziet ons van de UNION-operator waarmee we de resultaatsets van twee of meer SELECT-instructies kunnen combineren tot één resultaatset. Er zijn drie hoofdtypen UNION-operators in SQL: UNION, UNION ALL en UNION DISTINCT.

Deze tutorial onderzoekt deze drie soorten VERENIGINGEN en biedt praktijkvoorbeelden en praktische voorbeelden van het werken met hen.







OPMERKING: In dit voorbeeld gebruiken we de Sakila-voorbeelddatabase voor demonstratiedoeleinden. Zorg ervoor dat u het hebt geïnstalleerd voordat u deze opdrachten uitvoert. Je kunt onze tutorial daarover bekijken voor meer informatie.



SQL UNION-operator

Zoals vermeld, stelt de UNION-operator ons in staat om de resultaatset van twee of meer select-statements te combineren en de dubbele waarden te verwijderen. De syntaxis van de UNION-operator is als volgt:



SELECTEER kolom1, kolom2, ...
VAN tafel1
UNIE
SELECTEER kolom1, kolom2, ...
VAN tafel2;


In de vorige voorbeeldsyntaxis gebruiken we de SELECT-instructies om de gegevens uit de opgegeven tabellen op te halen. De UNION-operator combineert vervolgens de twee resultatensets tot één set. Laten we een voorbeeld nemen van hoe dit moet worden gedaan met behulp van de acteurstabel die is gedefinieerd in de Sakila-database.





Bekijk de volgende voorbeeldquery die de voornaam en de achternaam van de actoren ophaalt uit de actorentabel en de klantentabel:

SELECTEER voornaam, achternaam
VAN acteur
UNIE
SELECTEER voornaam, achternaam
VAN klant; SELECTEER voornaam, achternaam
VAN acteur
UNIE
SELECTEER voornaam, achternaam
VAN klant;


De vorige query infecteert de voor- en achternaam van zowel de actor- als de klanttabellen en retourneert de waarden als één resultaat.



Een voorbeelduitvoer is als volgt:

SQL UNION ALL-operator

In tegenstelling tot de UNION-operator die de dubbele waarden uit de resultatenset verwijdert, retourneert de UNION-operator alle rijen van de tabel, inclusief de duplicaten.

De syntaxis is als volgt:

SELECTEER kolom1, kolom2, ...
VAN tafel1
UNIE ALLEMAAL
SELECTEER kolom1, kolom2, ...
VAN tafel2;


Het volgende voorbeeld selecteert de voor- en achternaam uit de actor- en klantentabellen in de Sakila-database:

SELECTEER voornaam, achternaam
VAN acteur
UNIE ALLEMAAL
SELECTEER voornaam, achternaam
VAN klant;


Een voorbeelduitvoer is als volgt:

SQL UNION DISTINCT-operator

Het andere type vakbondsoperator is de UNION DISTINCT. Deze operator is gewoon een duplicaat van de UNION-operator die een vergelijkbare actie uitvoert.

De syntaxis is als volgt:

SELECTEER kolom1, kolom2, ...
VAN tafel1
UNIE DISTINCT
SELECTEER kolom1, kolom2, ...
VAN tafel2;


De SELECT-instructies halen de gegevens op uit de gespecificeerde tabellen en de UNION DISTINCT-operator combineert de resultatensets tot één resultatenset die de unieke rijen bevat.

In het voorbeeld van de Sakila-database kunnen we de volgende opdracht uitvoeren:

SELECTEER voornaam, achternaam
VAN acteur
UNIE DISTINCT
SELECTEER voornaam, achternaam
VAN klant;


Dit zou een vergelijkbaar resultaat moeten opleveren als de UNION-operator.

Conclusie

We leerden werken met de verschillende soorten UNIONS in SQL. De UNION-operator combineert de resultaatset van twee of meer select-statements en verwijdert de dubbele records. De UNION ALL voert een vergelijkbare actie uit, maar bevat eventuele dubbele rijen. Ten slotte is de UNION DISTINCT identiek aan een native UNION-operator.