Mens vi håndterer data i databaser, har vi ofte en tendens til at bruge sætoperatørerne i SQL , for at hente data i henhold til vores krav ved at kombinere to eller flere SELECT-sætninger. I denne artikel om SQL UNION vil jeg diskutere UNION-operatøren, der blev brugt til at hente data i følgende rækkefølge:
forskel mellem java og klasse
Lad os komme i gang!
Hvad er SQL UNION-operatøren?
Som navnet antyder, bruges denne operator / sætning til at kombinere resultaterne af to eller flere SELECT-sætninger. Her skal hver SELECT-sætning, der anvendes i UNION-erklæringen, have det samme antal kolonner i samme rækkefølge. Også alle kolonnerne i SELECT-udsagnene skal have lignende datatyper.
UNION-klausulen giver kun unikke værdier som output. Bare hvis du vil have duplikatværdier, skal du bruge UNION ALL-klausulen.
Gå videre i denne artikel om SQL UNION, lad os forstå syntaksen.
SQL UNION-syntaks
UNION-syntaks
VÆLG Kolonne1, Kolonne2, Kolonne3, ..., KolonneN FRA Tabel1 UNION VÆLG Kolonne1, Kolonne2, Kolonne3, ..., KolonneN FRA Tabel2
UNION ALL Syntaks
VÆLG Kolonne1, Kolonne2, Kolonne3, ..., KolonneN FRA Tabel1 UNION ALLE VÆLG Kolonne1, Kolonne2, Kolonne3, ..., KolonneN FRA Tabel2
Fortsæt i denne artikel og lad os forstå forskellene mellem UNION og UNION ALL.
Forskelle mellem SQL UNION og UNION ALL
UNION | UNION ALLE |
Kombinerer to eller flere resultatsæt og beholder ikke de dobbelte værdier. | Kombinerer to eller flere resultatsæt og bevarer duplikatværdierne. |
Syntaks: UNION | Syntaks: UNION ALLE |
Lad os i denne artikel om SQL UNION forstå de forskellige måder at bruge denne operatør på.
Eksempler på SQL UNION og UNION ALL
For din bedre forståelse vil jeg overveje følgende tabeller for at vise dig forskellige eksempler.
Medarbejdertabel
EmpID | Navn | EmpAge | By | Postnummer | Land |
en | Emma | 2. 3 | Berlin | 12109 | Tyskland |
2 | Rahul | 26 | Mumbai | 400015 | Indien |
3 | Aayra | 24 | New York | 10014 | ANVENDELSER |
4 | John | 32 | London | E1 7AE | UK |
5 | Derek | 29 | New York | 10012 | ANVENDELSER |
Projekter Tabel
ProjectID | Navn | Arbejdsdage | By | Postnummer | Land |
en | Projekt 1 | 10 | Berlin | 12109 | Tyskland |
2 | Projekt 2 | 7 | Mumbai | 400015 | Indien |
3 | Projekt 3 | tyve | Delhi | 110006 | Indien |
4 | Projekt 4 | femten | Mumbai | 400015 | Indien |
5 | Projekt 5 | 28 | Berlin | 12109 | Tyskland |
Lad os komme i gang med eksempler.
SQL UNION Eksempler
UNION-operatøreksempel
Skriv en forespørgsel for at hente forskellige byer fra tabellen Medarbejdere og projekter.
VÆLG by FRA medarbejdere UNION VÆLG BY FRA projekter BESTIL EFTER BY
Produktion:
By |
Berlin |
Delhi |
London |
Mumbai |
New York |
UNION ALL Operatøreksempel
Skriv en forespørgsel for at hente byer fra tabellen Medarbejdere og projekter. Her skal duplikatværdier medtages.
VÆLG by FRA medarbejdere UNION ALLE VÆLG by FRA projekter BESTIL EFTER BY
Produktion:
By |
Berlin |
Berlin |
Berlin |
Delhi |
London |
Mumbai |
Mumbai |
Mumbai |
New York |
New York |
Næste i denne artikel, lad os forstå, hvordan man bruger UNION-klausulen med SQL-aliasser.
UNION med SQL-aliasser
SQL-aliasser brugesat give en tabel eller en kolonne et midlertidigt navn. Så lad os skrive en forespørgsel for at liste alle de unikke medarbejdere og projekter.
VÆLG 'Medarbejder' AS Type, navn, by, land FRA medarbejdere UNION VÆLG 'Projekt', navn, by, land FRA projekter
Produktion:
Type | Navn | By | Land |
Medarbejder | Emma | Berlin | Tyskland |
Medarbejder | Rahul | Mumbai | Indien |
Medarbejder | Aayra | New York | ANVENDELSER |
Medarbejder | John | London | UK |
Medarbejder | Derek | New York | ANVENDELSER |
Projekt | Projekt 1 | Berlin | Tyskland |
Projekt | Projekt 2 | Mumbai | Indien |
Projekt | Projekt 3 | Delhi | Indien |
Projekt | Projekt 4 | Mumbai | Indien |
Projekt | Projekt 5 | Berlin | Tyskland |
UNION med WHERE-klausul
Skriv en forespørgsel for at hente de forskellige indiske byer og deres postnumre fra både medarbejdere og projekter.
SELECT By, PostalCode, Land FRA Medarbejdere WHERE Country = 'India' UNION SELECT City, PostalCode, Country FROM Projects WHERE Country = 'India' ORDER BY City
Produktion:
By | Postnummer | Land |
Delhi | 110006 | Indien |
Mumbai | 400015 | Indien |
UNION ALLE med WHERE-klausul
Skriv en forespørgsel for at hente indiske byer og deres postnumre fra både medarbejdere og projekter, hvor duplikatværdier er tilladt
SELECT By, PostalCode, Land FRA Medarbejdere WHERE Country = 'India' UNION ALLE SELECT City, PostalCode, Country FRA projekter WHERE Country = 'India' BESTIL EFTER BY
Produktion:
By | Postnummer | Land |
Delhi | 110006 | Indien |
Mumbai | 400015 | Indien |
Mumbai | 400015 | Indien |
Mumbai | 400015 | Indien |
Gå videre i denne artikel, lad os forstå, hvordan vi bruger UNION og UNION AL klausuler med JOINS.JOINS i SQL er som bruges til at kombinere rækker fra to eller flere tabeller, baseret på en relateret kolonne mellem disse tabeller.
UNION med JOINS
SQL UNION-operatøren kan bruges med for at hente data fra to forskellige tabeller. Jeg vil overveje følgende tabel sammen med tabellen Medarbejdere til eksemplet.
ProjectDetails-tabel
PID | Arbejdsdage | EmpID | CostforProject |
elleve | 12 | 4 | 20000 |
22 | 16 | 3 | 35000 |
33 | 30 | en | 60000 |
44 | 25 | 3 | 45000 |
55 | enogtyve | en | 50.000 |
VÆLG EmpID, Navn, CostforProject FRA MEDARBEJDERE VENSTRE TILMELD Projektdetaljer PÅ Medarbejdere.EmpID = ProjectDetails.EmpID UNION VÆLG EmpID, Navn, CostforProjekt FRA Medarbejdere HØJRE TILMELD ProjectDetails PÅ Medarbejdere.EmpID = ProjectDetails.EmpID
Produktion:
EmpID | Navn | CostforProject |
en | Emma | 60000 |
en | Emma | 50.000 |
2 | Rahul | NUL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NUL |
UNION ALLE med JOINS
Skriv en forespørgsel for at hente EmpID, navn og CostforProject fra tabellen medarbejdere og ProjectDetails, hvor duplikatværdier er tilladt.
VÆLG EmpID, Navn, CostforProject FRA MEDARBEJDERE VENSTRE TILMELD ProjectDetails PÅ Medarbejdere.EmpID = ProjectDetails.EmpID UNION ALLE VÆLG EmpID, Navn, CostforProject FRA MEDARBEJDERE HØJRE TILMELD ProjectDetails PÅ Medarbejdere.EmpID = ProjectDetails.EmpID
Produktion:
EmpID | Navn | CostforProject |
en | Emma | 60000 |
en | Emma | 50.000 |
2 | Rahul | NUL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NUL |
4 | John | 20000 |
3 | Aayra | 35000 |
en | Emma | 60000 |
3 | Aayra | 35000 |
en | Emma | 50.000 |
Ved dette kommer jeg til slutningen af denne artikel om SQL UNION. Jeg håber du nød at læse denne artikel om SQL UNION. Vi har set de forskellige måder at bruge kommandoerne UNION og UNION ALL til at hjælpe dig med at skrive forespørgsler. Hvis du ønsker at lære mere om MySQL og lær denne open source relationsdatabase, så tjek vores som kommer med instruktørstyret live træning og projektoplevelse i det virkelige liv. Denne træning hjælper dig med at forstå MySQL i dybden og hjælpe dig med at opnå mestring over emnet.
Har du et spørgsmål til os? Nævn det i kommentarfeltet i ”SQL UNION”, og jeg vender tilbage til dig.