Andmebaasides andmeid käsitledes kipume sageli kasutama määratud operaatoreid SQL , andmete hankimiseks vastavalt meie vajadustele, kombineerides kahte või enamat SELECT-lauset. Selles SQL UNIONi artiklis käsitlen UNIONi operaatorit, mida kasutatakse andmete hankimiseks järgmises järjestuses:
Alustagem!
Mis on operaator SQL UNION?
Nagu nimigi ütleb, kasutatakse seda operaatorit / klauslit kahe või enama SELECT-lause tulemuste ühendamiseks. Siin peab igal UNION-i lauses kasutataval SELECT-käsul olema sama arv veerge samas järjekorras. Samuti peavad kõik SELECT-lausetes olevad veerud olema sarnaste andmetüüpidega.
UNIONi klausel annab väljundina ainult unikaalsed väärtused. Igaks juhuks soovite dubleerivaid väärtusi, siis peate kasutama klauslit UNION ALL.
Selles SQL UNIONi artiklis edasi liikudes mõistke süntaksit.
SQL UNIONi süntaks
LIIDU süntaks
SELECT veerg1, veerg2, veerg3, ..., veergN tabelist1 UNION SELECT veerg1, veerg2, veerg3, ..., veergN tabelist 2
LIIDU KÕIK Süntaks
SELECT veerg1, veerg2, veerg3, ..., veergN tabelist1 UNION ALL SELECT veerg1, veerg2, veerg3, ..., veergN tabelist 2
Selles artiklis edasi liikudes andke meile mõista erinevusi LIIDU ja LIIDU KÕIK vahel.
Erinevused SQL UNION ja UNION ALL vahel
LIIT | LIIT KÕIK |
Kombineerib vähemalt kaks tulemuste komplekti ega hoia duplikaatväärtusi. | Ühendab kaks või enam tulemuste komplekti ja hoiab duplikaatväärtusi. |
Süntaks: LIIT | Süntaks: LIIT KÕIK |
Järgmisena laseme selles SQL UNIONi artiklis mõista selle operaatori kasutamise erinevaid viise.
SQL UNION ja UNION ALL näited
Teie paremaks mõistmiseks kaalun järgmisi tabeleid, et näidata teile erinevaid näiteid.
Töötajate tabel
EmpID | Nimi | EmpAge | Linn | Postiindeks | Riik |
üks | Emma | 2. 3 | Berliin | 12109 | Saksamaa |
2 | Rahul | 26 | Mumbai | 400015 | India |
3 | Aayra | 24 | New York | 10014 | KASUTAB |
4 | John | 32 | London | E1 7AE | Suurbritannia |
5 | Derek | 29 | New York | 10012 | KASUTAB |
Projektide tabel
ProjectID | Nimi | WorkingDays | Linn | Postiindeks | Riik |
üks | Projekt 1 | 10 | Berliin | 12109 | Saksamaa |
2 | Projekt 2 | 7 | Mumbai | 400015 | India |
3 | Projekt 3 | kakskümmend | Delhi | 110006 | India |
4 | Projekt 4 | viisteist | Mumbai | 400015 | India |
5 | Projekt 5 | 28 | Berliin | 12109 | Saksamaa |
Alustame näidetega.
SQL UNION Näited
LIIDU operaatori näide
Kirjutage tabel Töötajad ja projektid eraldi linnade hankimiseks päring.
VALI linn töötajate hulgast LIIT VALI linn projektidest TELLI linna järgi
Väljund:
Linn |
Berliin |
Delhi |
London |
Mumbai |
New York |
UNION ALL Operaatori näide
Linnade hankimiseks tabelist Töötajad ja projektid kirjutage päring. Siia tuleb lisada duplikaatväärtused.
VALI linn töötajate hulgast LIIT KÕIK VALIGE linn projektidest TELLI linna järgi
Väljund:
Linn |
Berliin |
Berliin |
Berliin |
Delhi |
London |
Mumbai |
Mumbai |
Mumbai |
New York |
New York |
Järgmisena selles artiklis lubage meil mõista, kuidas kasutada UNIONi klauslit SQL-pseudonüümidega.
UNION koos SQL varjunimedega
Kasutatakse SQL varjunimesidanda tabelile või veerule ajutine nimi. Nii et kirjutagem päring kõigi ainulaadsete töötajate ja projektide loetlemiseks.
Valige 'Töötaja' AS tüüp, nimi, linn, riik töötajatelt LIIDU VALIGE 'projekt', nimi, linn, riik projektidest
Väljund:
Tüüp | Nimi | Linn | Riik |
Töötaja | Emma | Berliin | Saksamaa |
Töötaja | Rahul | Mumbai | India |
Töötaja | Aayra | New York | KASUTAB |
Töötaja | John | London | Suurbritannia |
Töötaja | Derek | New York | KASUTAB |
Projekt | Projekt 1 | Berliin | Saksamaa |
Projekt | Projekt 2 | Mumbai | India |
Projekt | Projekt 3 | Delhi | India |
Projekt | Projekt 4 | Mumbai | India |
Projekt | Projekt 5 | Berliin | Saksamaa |
LIIT WHERE klausliga
Kirjutage päring, et leida tabelist Töötajad ja projektid erinevad India linnad ja nende sihtnumbrid.
valiku sortimisprogramm javas
SELECT City, PostalCode, Country FROM Employers WHERE Country = 'India' UNION SELECT City, PostalCode, Country FROM Projects WHERE Country = 'India' ORDER BY City
Väljund:
Linn | Postiindeks | Riik |
Delhi | 110006 | India |
Mumbai | 400015 | India |
LIIT KÕIK klausliga WHERE
Kirjutage päring India linnade ja nende sihtnumbrite hankimiseks nii tabelist Töötajad kui ka projektid, kus on lubatud duplikaatväärtused
VALI linn, postiindeks, riik töötajatelt WHERE Riik = 'India' UNION ALL VALI linn, postiindeks, riik projektidest WHERE Riik = 'India' TELLI linna järgi
Väljund:
Linn | Postiindeks | Riik |
Delhi | 110006 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
Selles artiklis edasi liikudes andke meile mõista, kuidas kasutada LIIDU ja LIIDU KÕIK klausleid ÜHENDUSTEGA.JOINS SQLis on mida kasutatakse kahe või enama tabeli ridade kombineerimiseks, tuginedes nende tabelite vahel seotud veerule.
LIIT ÜHINEMISTEGA
Operatsioonisüsteemi SQL UNION saab kasutada koos andmete hankimiseks kahest erinevast tabelist. Vaatlen näiteks järgmist tabelit koos töötajate tabeliga.
ProjektDetails tabel
PID | WorkingDays | EmpID | CostforProject |
üksteist | 12 | 4 | 20000 |
22 | 16 | 3 | 35000 |
33 | 30 | üks | 60000 |
44 | 25 | 3 | 45000 |
55 | kakskümmend üks | üks | 50 000 |
SELECT EmpID, Nimi, CostforProject töötajatelt VASAKS JOIN Projektidetailid töötajate kohta. EmpID = ProjectDetails.EmpID UNION Valige EmpID, nimi, CostforProject töötajatelt RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Väljund:
EmpID | Nimi | CostforProject |
üks | Emma | 60000 |
üks | Emma | 50 000 |
2 | Rahul | NULL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULL |
LIIT KÕIK ÜHINEMISTEGA
Kirjutage päring, et tabada töötajad ja ProjectDetails tabel EmpID, nimi ja CostforProject, kus on lubatud duplikaatväärtused.
SELECT EmpID, Nimi, CostforProject töötajatelt VASAKS JOIN Projektidetailid töötajate kohta.EmpID = ProjectDetails.EmpID UNION ALL SELECT EmpID, nimi, CostforProject FROM töötajatest RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Väljund:
EmpID | Nimi | CostforProject |
üks | Emma | 60000 |
üks | Emma | 50 000 |
2 | Rahul | NULL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULL |
4 | John | 20000 |
3 | Aayra | 35000 |
üks | Emma | 60000 |
3 | Aayra | 35000 |
üks | Emma | 50 000 |
Sellega jõuan SQL UNIONi käsitleva artikli lõppu. Loodan, et teile meeldis seda artiklit lugeda SQL UNIONist. Oleme näinud erinevaid viise, kuidas kasutada käske UNION ja UNION ALL, et aidata teil päringuid kirjutada. Kui soovite rohkem teada saada MySQL ja tutvuge selle avatud lähtekoodiga relatsioonide andmebaasiga ning vaadake siis meie veebisaiti mis on varustatud juhendajate juhitud elava koolituse ja reaalse elu projektikogemusega. See koolitus aitab teil MySQL-i põhjalikult mõista ja aitab teil selle teema üle meisterlikkust saavutada.
Kas teil on meile küsimus? Palun mainige seda jaotise „SQL UNION” kommentaaride osas ja pöördun teie poole.