samenvatting: in deze tutorial leert u hoe u MySQL UNION
operator gebruikt om twee of meer result sets van meerdere SELECT
statements te combineren in een enkele result set.
MySQL UNION operator
MySQL UNION
operator stelt u in staat om twee of meer resultaatsets van query ‘ s te combineren tot één resultaatset., Het volgende illustreert de syntaxis van de UNION
operator:
om resultaatverzameling van twee of meer queries te combineren met behulp van de UNION
operator, zijn dit de basisregels die u moet volgen:
- eerst het aantal en de volgorde van kolommen die in alle
SELECT
statements voorkomen dat moet hetzelfde zijn. - ten tweede moeten de gegevenstypen van kolommen hetzelfde of compatibel zijn.,
standaard verwijdert de operator UNION
dubbele rijen, zelfs als u de operator DISTINCT
niet expliciet opgeeft.,
Laten we zien het volgende voorbeeld tabellen: t1
en t2
:
De volgende verklaring combineert resultaat sets terug uit t1
en t2
tabellen:
Code language: SQL (Structured Query Language) (sql)
Het uiteindelijke resultaat set bevat de unieke waarden van verschillende resultaatsets worden geretourneerd door de query ‘ s:
Code language: SQL (Structured Query Language) (sql)
Omdat de rijen met de waarde 2 en 3 duplicaten zijn, de UNION
verwijderd en bleef alleen unieke waarden bevatten.,
De volgende Venn diagram illustreert de unie van twee resultaatsets die komen uit t1
en t2
tabellen:
Als je de UNION ALL
expliciet, de dubbele rijen, indien beschikbaar, blijven in het resultaat. Omdat UNION ALL
geen duplicaten hoeft te verwerken, presteert het sneller dan UNION DISTINCT
.,
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
zoals u kunt zien, verschijnen de duplicaten in de gecombineerde resultaatset vanwege de operatie UNION ALL
.
UNION vs. JOIN
A JOIN
combineert resultaatverzamelingen horizontaal, een UNION
voegt resultaatverzameling verticaal toe.,ple-database voor de demonstratie:
Stel dat u wilt om het combineren van de voor-en achternaam van medewerkers en klanten in een enkel resultaat, kunt u gebruik maken van de UNION
operator als volgt:
Code language: SQL (Structured Query Language) (sql)
Zoals je kunt zien in de output, de MySQL UNION
maakt gebruik van de kolom namen van de eerste SELECT
verklaring voor de kolomkoppen van de output.,
Als u andere kolomkoppen wilt gebruiken, moet u kolomaliassen expliciet gebruiken in het eersteSELECT
statement zoals weergegeven in het volgende voorbeeld:
dit voorbeeld gebruikt de kolomkop van de eerste query voor de uitvoer. Het gebruikt de functie CONCAT()
om voornaam, spatie en achternaam samen te voegen tot een volledige naam.,
MySQL-UNIE en OM de DOOR
Als u wilt sorteren in de resultaatset van een unie, gebruik je een ORDER BY
clausule in de laatste SELECT
– instructie zoals in het volgende voorbeeld:
Merk op dat als u de ORDER BY
component in elke SELECT
– instructie, het zal niet van invloed op de volgorde van de rijen in het uiteindelijke resultaat.,
om onderscheid te maken tussen werknemers en klanten, kunt u een kolom toevoegen zoals getoond in de volgende query:
MySQL biedt u ook een alternatieve optie om een resultaatset te sorteren op basis van kolompositie met behulp van ORDER BY
clausule als volgt:
het is echter geen goede gewoonte om het resultaat te sorteren op kolompositie.
in deze tutorial hebt u geleerd hoe u MySQL UNION
statement kunt gebruiken om gegevens van meerdere queries te combineren tot een enkele resultaatset.,
- Was deze tutorial nuttig?
- YesNo