Oppsummering: i denne opplæringen vil du lære hvordan å bruke MySQL UNION
– operatoren til å kombinere to eller flere resultatsett fra flere SELECT
uttalelser i en enkelt resultat.
MySQL UNION-operatoren
MySQL UNION
operatør lar deg kombinere to eller flere resultatsett av søk i en enkelt resultat., Følgende illustrerer syntaks for UNION
bruker:
for Å kombinere resultatene av to eller flere søk ved å bruke UNION
operatør, disse er de grunnleggende regler du må følge:
- Første, antall og bestillinger av kolonnene som vises i alle
SELECT
uttalelser må være det samme. - Andre typer data i kolonner må være den samme eller kompatible.,
standard UNION
operatør fjerner dupliserte rader selv om du ikke angi DISTINCT
operatør eksplisitt.,
La oss se på følgende eksempel tabeller: t1
og t2
:
følgende uttalelse kombinerer resultat innstiller returnert fra t1
og t2
tabeller:
Code language: SQL (Structured Query Language) (sql)
Det endelige resultatet settet inneholder distinkte verdier fra egen resultatsett som returneres av spørringer:
Code language: SQL (Structured Query Language) (sql)
Fordi rader med verdi 2 og 3 er duplikater, UNION
fjernet dem og holdt bare unike verdier.,
følgende Venn-diagram illustrerer union av to resultatsett som kommer fra t1
og t2
tabeller:
Hvis du bruker UNION ALL
eksplisitt, og den dupliserte rader, hvis tilgjengelig, forblir i resultatet. Fordi UNION ALL
trenger ikke å håndtere duplikater, utfører raskere enn UNION DISTINCT
.,
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Som du kan se, duplikater vises i den samlede resultat på grunn av UNION ALL
drift.
UNION vs. BLI med
En JOIN
kombinerer resultat sett horisontalt, en UNION
legger resultatet satt på høykant.,ple database for demonstrasjon:
Tenk deg at du ønsker å kombinere fornavn og etternavn av ansatte og kunder i et enkelt resultat, kan du bruke UNION
operatør som følger:
Code language: SQL (Structured Query Language) (sql)
Som du kan se av produksjonen, MySQL UNION
bruker kolonne navnene på de første SELECT
statement for kolonneoverskriftene av produksjonen.,
Hvis du ønsker å bruke andre kolonne, du trenger å bruke kolonnen aliaser eksplisitt i første SELECT
uttalelse som vist i følgende eksempel:
Dette eksemplet bruker du kolonneoverskriften til den første spørringen for utgang. Den bruker CONCAT()
funksjonen til å slå sammen første navn, plass og etternavn i en fullt navn.,
MySQL UNION og ORDER BY
Hvis du ønsker å sortere resultatet satt av en fagforening, du bruker en ORDER BY
klausulen i det siste SELECT
uttalelse som vist i følgende eksempel:
legg Merke til at hvis du plasserer ORDER BY
punkt i hver SELECT
erklæringen, vil det ikke påvirke rekkefølgen på radene i den endelige resultat.,
for Å skille mellom ansatte og kunder, kan du legge til en kolonne som vist i følgende spørring:
MySQL gir deg også et alternativ for å sortere et resultat basert på kolonnen posisjon ved hjelp av ORDER BY
klausulen som følger:
Men det er ikke en god praksis for å sortere resultatet satt av kolonnen posisjon.
I denne opplæringen, har du lært hvordan du skal bruke MySQL UNION
statement til å kombinere data fra flere søk i en enkelt resultat.,
- Var denne opplæringen nyttig?
- YesNo