Bij het verwerken van gegevens in databases hebben we vaak de neiging om de set-operators in SQL , om gegevens op te halen volgens onze vereisten door twee of meer SELECT-instructies te combineren. In dit artikel over SQL UNION bespreek ik de UNION-operator die wordt gebruikt om gegevens op te halen in de volgende volgorde:
- Wat is de SQL UNION-operator?
- Syntaxis:
- Verschillen tussen UNION en UNION ALL
- SQL UNION-voorbeelden:
Laten we beginnen!
Wat is de SQL UNION-operator?
Zoals de naam suggereert, wordt deze operator / clausule gebruikt om de resultaten van twee of meer SELECT-instructies te combineren. Hier moet elke SELECT-instructie die in de UNION-instructie wordt gebruikt, hetzelfde aantal kolommen in dezelfde volgorde hebben. Ook moeten alle kolommen in de SELECT-instructies vergelijkbare gegevenstypen hebben.
De UNION-clausule geeft alleen unieke waarden als uitvoer. Voor het geval u dubbele waarden wilt, moet u de UNION ALL-clausule gebruiken.
Laten we verdergaan in dit artikel over SQL UNION, laten we de syntaxis begrijpen.
SQL UNION-syntaxis
UNION-syntaxis
SELECTEER Column1, Column2, Column3, ..., ColumnN FROM Table1 UNION SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2
UNION ALL Syntaxis
SELECTEER Column1, Column2, Column3, ..., ColumnN FROM Table1 UNION ALL SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2
Laten we verder gaan in dit artikel en de verschillen tussen UNION en UNION ALL begrijpen.
Verschillen tussen SQL UNION en UNION ALL
UNIE | UNIE ALLEN |
Combineert twee of meer resultatensets en behoudt de dubbele waarden niet. | Combineert twee of meer resultaatsets en behoudt de dubbele waarden. |
Syntaxis: UNIE | Syntaxis: UNIE ALLEN |
Laten we vervolgens in dit artikel over SQL UNION de verschillende manieren begrijpen waarop deze operator kan worden gebruikt.
Voorbeelden van SQL UNION en UNION ALL
Voor een beter begrip zal ik de volgende tabellen overwegen om u verschillende voorbeelden te laten zien.
Werknemer Tafel
EmpID | Naam | EmpAge | stad | Postcode | Land |
een | Emma | 2. 3 | Berlijn | 12109 | Duitsland |
2 | Rahul | 26 | Mumbai | 400015 | India |
3 | Aayra | 24 | New York | 10014 | TOEPASSINGEN |
4 | John | 32 | Londen | E1 7AE | UK |
5 | Derek | 29 | New York | 10012 | TOEPASSINGEN |
Projecten Tafel
ProjectID | Naam | Werkdagen | stad | Postcode | Land |
een | Project 1 | 10 | Berlijn | 12109 | Duitsland |
2 | Project 2 | 7 | Mumbai | 400015 | India |
3 | Project 3 | twintig | Delhi | 110006 | India |
4 | Project 4 | vijftien | Mumbai | 400015 | India |
5 | Project 5 | 28 | Berlijn | 12109 | Duitsland |
Laten we beginnen met voorbeelden.
SQL UNION-voorbeelden
UNION Operator Voorbeeld
Schrijf een zoekopdracht om verschillende steden op te halen uit de tabel Medewerkers en projecten.
SELECTEER Stad VAN Medewerkers UNIE SELECTEER Stad VAN Projecten ORDER PER Stad
Uitgang:
stad |
Berlijn |
Delhi |
Londen |
Mumbai |
New York |
UNION ALL Operator Voorbeeld
Schrijf een zoekopdracht om steden op te halen uit de tabel Medewerkers en projecten. Hier moeten dubbele waarden worden opgenomen.
SELECTEER Stad UIT Medewerkers UNIE ALLES SELECTEER Stad UIT Projecten ORDER OP Stad
Uitgang:
stad |
Berlijn |
Berlijn |
Berlijn |
Delhi |
Londen |
Mumbai |
Mumbai |
Mumbai |
New York |
New York |
Laten we vervolgens in dit artikel begrijpen hoe we de UNION-clausule met SQL-aliassen kunnen gebruiken.
UNION met SQL-aliassen
SQL-aliassen worden gebruiktom een tabel of kolom een tijdelijke naam te geven. Dus laten we een vraag schrijven om alle unieke medewerkers en projecten op te sommen.
SELECTEER 'Werknemer' AS Type, Naam, Stad, Land FROM Werknemers UNION SELECTEER 'Project', Naam, Stad, Land FROM Projecten
Uitgang:
Type | Naam | stad | Land |
Werknemer | Emma | Berlijn | Duitsland |
Werknemer | Rahul | Mumbai | India |
Werknemer | Aayra | New York | TOEPASSINGEN |
Werknemer | John | Londen | UK |
Werknemer | Derek | New York | TOEPASSINGEN |
Project | Project 1 | Berlijn | Duitsland |
Project | Project 2 | Mumbai | India |
Project | Project 3 | Delhi | India |
Project | Project 4 | Mumbai | India |
Project | Project 5 | Berlijn | Duitsland |
UNION met WHERE-clausule
Schrijf een zoekopdracht om de verschillende Indiase steden en hun postcodes op te halen uit zowel de tabel Medewerkers als Projecten.
SELECTEER Stad, Postcode, Land VAN Werknemers WAAR Land = 'India' UNION KIES Stad, Postcode, Land VAN Projecten WAAR Land = 'India' ORDER BY Stad
Uitgang:
stad | Postcode | Land |
Delhi | 110006 | India |
Mumbai | 400015 | India |
UNION ALL met WHERE-clausule
Schrijf een zoekopdracht om Indiase steden en hun postcodes op te halen uit zowel de tabel Werknemers als Projecten, waar dubbele waarden zijn toegestaan
SELECTEER Plaats, Postcode, Land VAN Werknemers WAAR Land = 'India' UNIE ALLES SELECTEER Stad, Postcode, Land VAN Projecten WAAR Land = 'India' ORDER BY City
Uitgang:
stad | Postcode | Land |
Delhi | 110006 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
Laten we verder gaan in dit artikel en laten we begrijpen hoe we de clausules UNION en UNION ALL kunnen gebruiken met JOINS.JOINS in SQL zijn die worden gebruikt om rijen uit twee of meer tabellen te combineren, op basis van een gerelateerde kolom tussen die tabellen.
UNION met JOINS
De SQL UNION-operator kan worden gebruikt met om gegevens uit twee verschillende tabellen op te halen. Ik ga de volgende tabel bekijken, samen met de tabel Werknemers voor het voorbeeld.
ProjectDetails table
PID | Werkdagen | EmpID | CostforProject |
elf | 12 | 4 | 20000 |
22 | 16 | 3 | 35000 |
33 | 30 | een | 60000 |
44 | 25 | 3 | 45000 |
55 | eenentwintig | een | 50.000 |
SELECTEER EmpID, Naam, CostforProject VAN Medewerkers LINKS WORD LID VAN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SELECT EmpID, Naam, CostforProject VAN Medewerkers RECHTS JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Uitgang:
EmpID | Naam | CostforProject |
een | Emma | 60000 |
een | Emma | 50.000 |
2 | Rahul | NUL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NUL |
UNION ALLES met JOINS
Schrijf een query om de EmpID, Name en CostforProject op te halen uit de tabel Werknemers en ProjectDetails, waar dubbele waarden zijn toegestaan.
overeenkomsten tussen java en javascript
SELECTEER EmpID, Naam, CostforProject VAN Medewerkers LINKS WORD LID VAN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION ALLES SELECTEER EmpID, Naam, CostforProject VAN Medewerkers RECHTS WORD LID VAN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Uitgang:
EmpID | Naam | CostforProject |
een | Emma | 60000 |
een | Emma | 50.000 |
2 | Rahul | NUL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NUL |
4 | John | 20000 |
3 | Aayra | 35000 |
een | Emma | 60000 |
3 | Aayra | 35000 |
een | Emma | 50.000 |
Hiermee kom ik aan het einde van dit artikel over SQL UNION. Ik hoop dat je dit artikel over SQL UNION met plezier hebt gelezen. We hebben de verschillende manieren gezien waarop u de opdrachten UNION en UNION ALL kunt gebruiken om u te helpen bij het schrijven van vragen. Als u meer wilt weten over MySQL en maak kennis met deze open source relationele database, bekijk dan onze die wordt geleverd met live training onder leiding van een instructeur en real-life projectervaring. Deze training zal je helpen MySQL diepgaand te begrijpen en je te helpen het onderwerp onder de knie te krijgen.
Heeft u een vraag voor ons? Vermeld het alstublieft in het commentaargedeelte van 'SQL UNION' en ik neem contact met u op.