Mens vi håndterer data i databaser, pleier vi ofte å bruke settoperatørene i SQL , for å hente data i henhold til våre krav ved å kombinere to eller flere SELECT-setninger. I denne artikkelen om SQL UNION vil jeg diskutere UNION-operatøren som ble brukt til å hente data i følgende rekkefølge:
La oss komme i gang!
Hva er SQL UNION-operatøren?
Som navnet antyder, brukes denne operatøren / paragrafen til å kombinere resultatene av to eller flere SELECT-setninger. Her må hver SELECT-setning som brukes i UNION-setningen ha samme antall kolonner i samme rekkefølge. Dessuten må alle kolonnene i SELECT-setningene ha lignende datatyper.
UNION-klausulen gir bare unike verdier som utdata. I tilfelle du vil ha dupliserte verdier, så må du bruke UNION ALL-setningen.
Fortsett i denne artikkelen om SQL UNION, la oss forstå syntaksen.
sorter en matrise i c ++
SQL UNION syntaks
UNION Syntaks
VELG Kolonne1, Kolonne2, Kolonne3, ..., KolonneN FRA Tabell1 UNION VELG Kolonne1, Kolonne2, Kolonne3, ..., KolonneN FRA Tabell2
UNION ALL Syntaks
VELG Kolonne1, Kolonne2, Kolonne3, ..., KolonneN FRA Tabell1 UNION ALLE VELG Kolonne1, Kolonne2, Kolonne3, ..., KolonneN FRA Tabell2
La oss fortsette i denne artikkelen, og la oss forstå forskjellene mellom UNION og UNION ALL.
Forskjeller mellom SQL UNION og UNION ALL
UNION | UNION ALL |
Kombinerer to eller flere resultatsett og beholder ikke duplikatverdiene. | Kombinerer to eller flere resultatsett og beholder duplikatverdiene. |
Syntaks: UNION | Syntaks: UNION ALL |
I denne artikkelen om SQL UNION, la oss forstå de forskjellige måtene å bruke denne operatøren på.
Eksempler på SQL UNION og UNION ALL
For din bedre forståelse vil jeg vurdere følgende tabeller for å vise deg forskjellige eksempler.
Ansattstabell
EmpID | Navn | EmpAge | By | Postnummer | Land |
en | Emma | 2. 3 | Berlin | 12109 | Tyskland |
2 | Rahul | 26 | Mumbai | 400015 | India |
3 | Aayra | 24 | New York | 10014 | BRUKER |
4 | John | 32 | London | E1 7AE | Storbritannia |
5 | Derek | 29 | New York | 10012 | BRUKER |
Prosjekter Tabell
ProjectID | Navn | Arbeidsdager | By | Postnummer | Land |
en | Prosjekt 1 | 10 | Berlin | 12109 | Tyskland |
2 | Prosjekt 2 | 7 | Mumbai | 400015 | India |
3 | Prosjekt 3 | tjue | Delhi | 110006 | India |
4 | Prosjekt 4 | femten | Mumbai | 400015 | India |
5 | Prosjekt 5 | 28 | Berlin | 12109 | Tyskland |
La oss komme i gang med eksempler.
SQL UNION Eksempler
UNION-operatøreksempel
Skriv et spørsmål for å hente forskjellige byer fra tabellen ansatte og prosjekter.
VELG BY FRA MEDARBEIDER UNION VELG BY FRA prosjekter BESTIL BY BY
Produksjon:
By |
Berlin |
Delhi |
London |
Mumbai |
New York |
UNION ALL Operatøreksempel
Skriv et spørsmål for å hente byer fra tabellen Ansatte og prosjekter. Her må dupliserte verdier inkluderes.
VELG BY FRA MEDARBEIDERE UNION ALLE VELG BY FRA prosjekter BESTILL BY BY
Produksjon:
By |
Berlin |
Berlin |
Berlin |
Delhi |
London |
Mumbai |
Mumbai |
Mumbai |
New York |
New York |
Neste i denne artikkelen, la oss forstå hvordan vi bruker UNION-klausulen med SQL-aliaser.
UNION med SQL-aliaser
SQL-aliaser brukesfor å gi et bord eller en kolonne et midlertidig navn. Så la oss skrive et spørsmål for å liste opp alle unike ansatte og prosjekter.
VELG 'Ansatt' AS Type, navn, by, land FRA ansatte UNION VELG 'Prosjekt', navn, by, land FRA prosjekter
Produksjon:
Type | Navn | By | Land |
Ansatt | Emma | Berlin | Tyskland |
Ansatt | Rahul | Mumbai | India |
Ansatt | Aayra | New York | BRUKER |
Ansatt | John | London | Storbritannia |
Ansatt | Derek | New York | BRUKER |
Prosjekt | Prosjekt 1 | Berlin | Tyskland |
Prosjekt | Prosjekt 2 | Mumbai | India |
Prosjekt | Prosjekt 3 | Delhi | India |
Prosjekt | Prosjekt 4 | Mumbai | India |
Prosjekt | Prosjekt 5 | Berlin | Tyskland |
UNION med WHERE-klausul
Skriv et spørsmål for å hente de forskjellige indiske byene og deres postnummer fra tabellen ansatte og prosjekter.
SELECT By, postnummer, land FRA ansatte WHERE Country = 'India' UNION SELECT City, PostalCode, Country FROM Projects WHERE Country = 'India' BESTILLING BY By
Produksjon:
By | Postnummer | Land |
Delhi | 110006 | India |
Mumbai | 400015 | India |
UNION ALLE med WHERE-klausul
Skriv et spørsmål for å hente indiske byer og postnummer fra både tabellen ansatte og prosjekter, der dupliserte verdier er tillatt
SELECT By, PostalCode, Land FRA ansatte WHERE Country = 'India' UNION ALL SELECT City, PostalCode, Country FROM Projects WHERE Country = 'India' BESTILLING BY By
Produksjon:
By | Postnummer | Land |
Delhi | 110006 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
La oss gå videre i denne artikkelen, og la oss forstå hvordan vi bruker UNION og UNION AL klausuler med JOINS.BLIR MED i SQL er som brukes til å kombinere rader fra to eller flere tabeller, basert på en relatert kolonne mellom disse tabellene.
UNION med JOINS
SQL UNION-operatøren kan brukes med for å hente data fra to forskjellige tabeller. Jeg skal vurdere følgende tabell sammen med tabellen ansatte for eksemplet.
hva er anaconda for python
ProjectDetails-tabell
PID | Arbeidsdager | EmpID | CostforProject |
elleve | 12 | 4 | 20000 |
22 | 16 | 3 | 35000 |
33 | 30 | en | 60000 |
44 | 25 | 3 | 45000 |
55 | tjueen | en | 50.000 |
VELG EmpID, navn, CostforProject FRA ansatte LEFT JOIN ProjectDetails ON Ansatte.EmpID = ProjectDetails.EmpID UNION VELG EmpID, Name, CostforProject FRA ansatte RIGHT JOIN ProjectDetails ON Staff.EmpID = ProjectDetails.EmpID
Produksjon:
EmpID | Navn | CostforProject |
en | Emma | 60000 |
en | Emma | 50.000 |
2 | Rahul | NULL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULL |
UNION ALLE med JOINS
Skriv et spørsmål for å hente EmpID, Name og CostforProject fra ansatte og ProjectDetails-tabellen, der dupliserte verdier er tillatt.
VELG EmpID, navn, CostforProject FRA ansatte VENSTRE BLI MED ProjectDetails PÅ Ansatte.EmpID = ProjectDetails.EmpID UNION ALLE VELG EmpID, Navn, CostforProject FRA ansatte RIGHT JOIN ProjectDetails PÅ Staff.EmpID = ProjectDetails.EmpID
Produksjon:
EmpID | Navn | CostforProject |
en | Emma | 60000 |
en | Emma | 50.000 |
2 | Rahul | NULL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULL |
4 | John | 20000 |
3 | Aayra | 35000 |
en | Emma | 60000 |
3 | Aayra | 35000 |
en | Emma | 50.000 |
Etter dette kommer jeg til slutten av denne artikkelen om SQL UNION. Jeg håper du likte å lese denne artikkelen om SQL UNION. Vi har sett de forskjellige måtene å bruke kommandoene UNION og UNION ALL for å hjelpe deg med å skrive spørsmål. Hvis du ønsker å lære mer om MySQL og bli kjent med denne open source relasjonsdatabasen, så sjekk ut vår som kommer med instruktørledet live-opplæring og reell prosjektopplevelse. Denne opplæringen vil hjelpe deg med å forstå MySQL i dybden og hjelpe deg med å mestre emnet.
Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet i ”SQL UNION”, så kommer jeg tilbake til deg.