Welcome to Our Website

MySQL UNION (Dansk)

Resumé: i denne tutorial vil du lære at bruge MySQL UNION operatør for at kombinere to eller flere resultatsæt fra flere SELECT erklæringer i et enkelt resultatsæt.

MySQL-operatoren UNION

MySQL UNION operatøren giver dig mulighed for at kombinere to eller flere resultatsæt af forespørgsler i et enkelt resultatsæt., Det illustrerer følgende syntaks af UNION bruger:

for At kombinere resultatet af to eller flere forespørgsler ved hjælp af UNION operatør, er disse de grundlæggende regler, du skal følge:

  • Første, antallet og de ordrer af kolonner, der vises i alle SELECT erklæringer skal være den samme.
  • for det andet skal datatyperne af kolonner være de samme eller kompatible.,

som standard fjernerUNION operatøren dublerede rækker, selvom du ikke angiverDISTINCT operatøren eksplicit.,

Lad os se på følgende eksempler på tabeller: t1 og t2:

følgende erklæring kombinerer resultatet sæt tilbage fra t1 og t2 tabeller:

Code language: SQL (Structured Query Language) (sql)

Det endelige resultat-sættet indeholder de forskellige værdier fra forskellige resultatsæt, der returneres af forespørgsler:

Code language: SQL (Structured Query Language) (sql)

Fordi det rækker med værdien 2 og 3 er dubletter, UNION fjernet dem og holdt kun unikke værdier.,

følgende Venn-diagram illustrerer union af to resultatsæt, der kommer fra t1 og t2 tabeller:

Hvis du bruger UNION ALL udtrykkeligt, den dobbelte rækker, hvis de er tilgængelige, forbliver i resultatet. Fordi UNION ALL ikke behøver at håndtere dubletter, udfører den hurtigere end UNION DISTINCT .,

Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)

Som du kan se, dubletter vises i det samlede resultat er indstillet på grund af UNION ALL drift.

UNION vs. JOIN

AJOINkombinerer resultatsæt vandret, aUNION tilføjer resultat indstillet lodret.,ple database til demonstration:

lad os Antage, at du ønsker at kombinere dit for-og efternavn af medarbejdere og kunder i et enkelt resultatsæt, kan du bruge UNION operatør som følger:

Code language: SQL (Structured Query Language) (sql)

Som du kan se fra output, MySQL UNION bruger den kolonne navnene på den første SELECT erklæring til kolonneoverskrifter af output.,

Hvis du ønsker at bruge andre kolonneoverskrifter, skal du bruge kolonne aliaser eksplicit i den første SELECT erklæring, som vist i følgende eksempel:

Dette eksempel bruger på kolonneoverskriften på den første forespørgsel til output. Den bruger funktionen CONCAT() til at sammenkæde fornavn, mellemrum og efternavn til et fuldt navn.,

MySQL UNION og ORDER BY

Hvis du ønsker at sortere resultatet af en union, skal du bruge en ORDER BY klausul i de sidste SELECT erklæring, som vist i følgende eksempel:

Bemærk, at hvis du placerer ORDER BY klausul i hvert SELECT erklæring, vil det ikke påvirke rækkefølgen af rækker i det endelige resultat-sæt.,

for At skelne mellem medarbejdere og kunder, kan du tilføje en kolonne, som vist i følgende query:

MySQL giver dig også en alternativ mulighed for at sortere et resultat, der er baseret på kolonne position ved hjælp af ORDER BY klausul som følger:

Men det er ikke en god ide at sortere resultatet efter kolonne position.

i denne vejledning har du lært, hvordan du bruger Mys .l UNION – erklæring til at kombinere data fra flere forespørgsler til et enkelt resultatsæt.,

  • var denne vejledning nyttig?
  • YesNo

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *