Apstrādājot datus datu bāzēs, mēs bieži mēdzam izmantot iestatītos operatorus SQL , lai izgūtu datus atbilstoši mūsu prasībām, apvienojot divus vai vairākus SELECT priekšrakstus. Šajā rakstā par SQL UNION es aplūkošu UNION operatoru, kas izmantots datu izgūšanai šādā secībā:
Ļaujiet mums sākt darbu!
Kas ir SQL UNION operators?
Kā norāda nosaukums, šis operators / klauzula tiek izmantota, lai apvienotu divu vai vairāku SELECT priekšrakstu rezultātus. Katram SELECT priekšrakstam, kas tiek izmantots UNION paziņojumā, jābūt vienādam kolonnu skaitam tajā pašā secībā. Tāpat visām kolonnām, kas atrodas SELECT paziņojumos, jābūt līdzīgiem datu tipiem.
SAVIENĪBAS klauzula kā izvadi norāda tikai unikālas vērtības. Tikai gadījumā, ja vēlaties kopēt vērtības, jums jāizmanto klauzula UNION ALL.
Turpinot šo rakstu par SQL UNION, ļaujiet mums saprast sintaksi.
SQL SAVIENĪBAS sintakse
SAVIENĪBAS sintakse
SELECT kolonna1, kolonna2, kolonna3, ..., kolonnaN no tabulas1 UNION SELECT kolonna1, kolonna2, kolonna3, ..., kolonnaN no tabulas2
SAVIENĪBAS VISA sintakse
SELECT kolonna1, kolonna2, kolonna3, ..., kolonnaN no tabulas1 UNION ALL SELECT kolonna1, kolonna2, kolonna3, ..., kolonnaN no tabulas2
Turpinot šo rakstu, ļaujiet mums saprast atšķirības starp UNION un UNION ALL.
Atšķirības starp SQL UNION UN UNION ALL
SAVIENĪBA | SAVIENĪBA VISI |
Apvieno divas vai vairākas rezultātu kopas un nesaglabā dublētās vērtības. | Apvieno divas vai vairākas rezultātu kopas un saglabā dublētās vērtības. |
Sintakse: SAVIENĪBA | Sintakse: SAVIENĪBA VISI |
Tālāk, šajā rakstā par SQL UNION, ļaujiet mums saprast dažādus šī operatora izmantošanas veidus.
SQL UNION un UNION ALL piemēri
Lai jūs labāk saprastu, es apsvēršu šīs tabulas, lai parādītu jums dažādus piemērus.
Darbinieku tabula
EmpID | Nosaukums | EmpAge | Pilsēta | Pasta indekss | Valsts |
viens | Emma | 2. 3 | Berlīne | 12109 | Vācija |
2 | Rahuls | 26 | Mumbai | 400015 | Indija |
3 | Aayra | 24 | Ņujorka | 10014 | LIETOŠANA |
4 | Džons | 32 | Londona | E1 7AE | Lielbritānija |
5 | Dereks | 29 | Ņujorka | 10012 | LIETOŠANA |
Projektu tabula
ProjectID | Nosaukums | Darba dienas | Pilsēta | Pasta indekss | Valsts |
viens | 1. projekts | 10 | Berlīne | 12109 | Vācija |
2 | 2. projekts | 7 | Mumbai | 400015 | Indija |
3 | 3. projekts | divdesmit | Deli | 110006 | Indija |
4 | 4. projekts | piecpadsmit | Mumbai | 400015 | Indija |
5 | 5. projekts | 28 | Berlīne | 12109 | Vācija |
Sāksim ar piemēriem.
SQL UNION piemēri
SAVIENĪBAS Operatora piemērs
Uzrakstiet vaicājumu, lai no tabulas Darbinieki un projekti izgūtu atsevišķas pilsētas.
ATLASIET pilsētu no darbinieku apvienības SAVIENĪBA ATLASIET pilsētu no projektiem PASŪTĪT Pilsētu
Izeja:
Pilsēta |
Berlīne |
Deli |
Londona |
Mumbai |
Ņujorka |
UNION ALL operatora piemērs
Uzrakstiet vaicājumu, lai izgūtu pilsētas no tabulas Darbinieki un projekti. Šeit ir jāiekļauj dublikātu vērtības.
kā izmantot kontaktligzdas java
Atlasiet pilsētu no darbinieku savienības VISI atlasiet pilsētu no projektiem PASŪTĪT PĒC pilsētas
Izeja:
Pilsēta |
Berlīne |
Berlīne |
Berlīne |
Deli |
Londona |
Mumbai |
Mumbai |
Mumbai |
Ņujorka |
Ņujorka |
Tālāk šajā rakstā ļaujiet mums saprast, kā izmantot klauzulu UNION ar SQL aizstājvārdiem.
SAVIENĪBA ar SQL aizstājvārdiem
Tiek izmantoti SQL aizstājvārdilai tabulai vai kolonnai piešķirtu pagaidu nosaukumu. Tātad, uzrakstīsim vaicājumu, lai uzskaitītu visus unikālos darbiniekus un projektus.
ATLASĪT 'Darbinieks' AS veidu, vārdu, pilsētu, valsti no darbinieku SAVIENĪBAS ATLASIET 'projektu', vārdu, pilsētu, valsti no projektiem
Izeja:
Tips | Nosaukums | Pilsēta | Valsts |
Darbinieks | Emma | Berlīne | Vācija |
Darbinieks | Rahuls | Mumbai | Indija |
Darbinieks | Aayra | Ņujorka | LIETOŠANA |
Darbinieks | Džons | Londona | Lielbritānija |
Darbinieks | Dereks | Ņujorka | LIETOŠANA |
Projekts | 1. projekts | Berlīne | Vācija |
Projekts | 2. projekts | Mumbai | Indija |
Projekts | 3. projekts | Deli | Indija |
Projekts | 4. projekts | Mumbai | Indija |
Projekts | 5. projekts | Berlīne | Vācija |
SAVIENĪBA ar klauzulu WHERE
Uzrakstiet vaicājumu, lai no tabulas Darbinieki un projekti iegūtu atsevišķas Indijas pilsētas un to pasta indeksus.
SELECT City, PostalCode, Country FROM Employees WHERE Country = 'India' UNION SELECT City, PostalCode, Country FROM Projects WHERE Country = 'India' PASŪTĪT PĒC pilsētas
Izeja:
Pilsēta | Pasta indekss | Valsts |
Deli | 110006 | Indija |
Mumbai | 400015 | Indija |
UNION ALL with WHERE klauzula
Uzrakstiet vaicājumu, lai izgūtu Indijas pilsētas un to pasta indeksus gan tabulā Darbinieki, gan Projekti, kur ir atļautas vērtību dublikāti
SELECT City, PostalCode, Country FROM Employees WHERE Country = 'India' UNION ALL SELECT City, PostalCode, Country FROM Projects WHERE Country = 'India' PASŪTĪT PĒC pilsētas
Izeja:
Pilsēta | Pasta indekss | Valsts |
Deli | 110006 | Indija |
Mumbai | 400015 | Indija |
Mumbai | 400015 | Indija |
Mumbai | 400015 | Indija |
Pārejot uz priekšu šajā rakstā, ļaujiet mums saprast, kā izmantot SAVIENĪBAS un SAVIENĪBAS VISAS klauzulas ar VIENOŠANOS.Pievienojas SQL ir kas tiek izmantoti, lai apvienotu rindas no divām vai vairākām tabulām, pamatojoties uz saistītu kolonnu starp šīm tabulām.
SAVIENĪBA AR PIEVIENOŠANOS
SQL UNION operatoru var izmantot ar lai izgūtu datus no divām dažādām tabulām. Es izskatīšu šo tabulu kopā ar piemēru tabulu Darbinieki.
ProjectDetails tabula
PID | Darba dienas | EmpID | CostforProject |
vienpadsmit | 12 | 4 | 20000 |
22 | 16 | 3 | 35000 |
33 | 30 | viens | 60000 |
44. | 25 | 3 | 45000 |
55 | divdesmitviens | viens | 50 000 |
Atlasiet EmpID, Name, CostforProject no darbiniekiem, kas pa kreisi pievienojas ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SELECT EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Izeja:
EmpID | Nosaukums | CostforProject |
viens | Emma | 60000 |
viens | Emma | 50 000 |
2 | Rahuls | NULL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | Džons | 20000 |
5 | Dereks | NULL |
SAVIENĪBA VISI AR PIEVIENOŠANOS
Uzrakstiet vaicājumu, lai izgūtu EmpID, Name un CostforProject no tabulas Darbinieki un ProjectDetails, kur ir atļautas vērtību dublikāti.
Atlasiet EmpID, Name, CostforProject no darbiniekiem, kas pa kreisi pievienojas ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION ALL SELECT EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Izeja:
EmpID | Nosaukums | CostforProject |
viens | Emma | 60000 |
viens | Emma | 50 000 |
2 | Rahuls | NULL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | Džons | 20000 |
5 | Dereks | NULL |
4 | Džons | 20000 |
3 | Aayra | 35000 |
viens | Emma | 60000 |
3 | Aayra | 35000 |
viens | Emma | 50 000 |
Ar to es nonāku šī raksta par SQL UNION beigām. Es ceru, ka jums patika lasīt šo rakstu par SQL UNION. Mēs esam redzējuši dažādus veidus, kā izmantot komandas UNION un UNION ALL, lai palīdzētu jums rakstīt vaicājumus. Ja vēlaties uzzināt vairāk par MySQL un iepazīstiet šo atvērtā pirmkoda relāciju datu bāzi, pēc tam pārbaudiet mūsu kas nāk ar instruktoru vadītu tiešraides apmācību un reālās dzīves projektu pieredzi. Šīs apmācības palīdzēs jums padziļināti izprast MySQL un palīdzēs jums apgūt priekšmetu.
Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā “SQL UNION”, un es sazināšos ar jums.