Při manipulaci s daty v databázích často používáme operátory množin SQL , načíst data podle našich požadavků kombinací dvou nebo více příkazů SELECT. V tomto článku o SQL UNION budu diskutovat o operátoru UNION použitém k načtení dat v následujícím pořadí:
Pojďme začít!
Výukový program ms sql pro začátečníky
Co je operátor SQL UNION?
Jak název napovídá, tato operátor / klauzule se používá ke kombinaci výsledků dvou nebo více příkazů SELECT. Zde musí mít každý příkaz SELECT použitý v příkazu UNION stejný počet sloupců ve stejném pořadí. Také všechny sloupce přítomné v příkazech SELECT musí mít podobné datové typy.
Klauzule UNION poskytuje jako výstup pouze jedinečné hodnoty. Pro případ, že chcete duplicitní hodnoty, musíte použít klauzuli UNION ALL.
Pokračujeme v tomto článku na SQL UNION, pojďme pochopit syntaxi.
Syntaxe SQL UNION
Syntaxe UNION
VYBERTE Sloupec1, Sloupec2, Sloupec3, ..., SloupecN Z Tabulky1 UNION VYBERTE Sloupec1, Sloupec2, Sloupec3, ..., SloupecN Z Tabulky2
UNION ALL Syntax
VYBERTE Sloupec1, Sloupec2, Sloupec3, ..., SloupecN Z Tabulky1 UNION VŠE VYBERTE Sloupec1, Sloupec2, Sloupec3, ..., SloupecN Z Tabulky2
V dalším článku pojďme pochopit rozdíly mezi UNION a UNION ALL.
Rozdíly mezi SQL UNION a UNION ALL
SVAZ | UNION ALL |
Kombinuje dvě nebo více sad výsledků a neuchovává duplicitní hodnoty. | Kombinuje dvě nebo více sad výsledků a zachovává duplicitní hodnoty. |
Syntax: SVAZ | Syntax: UNION ALL |
![]() |
Dále v tomto článku o SQL UNION pojďme pochopit různé způsoby použití tohoto operátoru.
Příklady SQL UNION a UNION ALL
Pro vaše lepší pochopení zvážím následující tabulky, abych vám ukázal různé příklady.
Tabulka zaměstnanců
EmpID | název | EmpAge | Město | Poštovní směrovací číslo | Země |
jeden | Emma | 2. 3 | Berlín | 12109 | Německo |
2 | Rahul | 26 | Bombaj | 400015 | Indie |
3 | Aayra | 24 | New York | 10014 | POUŽITÍ |
4 | John | 32 | Londýn | E1 7AE | Spojené království |
5 | Derek | 29 | New York | 10012 | POUŽITÍ |
Tabulka projektů
ID projektu | název | Pracovní dny | Město | Poštovní směrovací číslo | Země |
jeden | Projekt 1 | 10 | Berlín | 12109 | Německo |
2 | Projekt 2 | 7 | Bombaj | 400015 | Indie |
3 | Projekt 3 | dvacet | Dillí | 110006 | Indie |
4 | Projekt 4 | patnáct | Bombaj | 400015 | Indie |
5 | Projekt 5 | 28 | Berlín | 12109 | Německo |
Začněme příklady.
Příklady SQL UNION
Příklad operátora UNION
Napište dotaz a načtěte odlišná města z tabulky Zaměstnanci a projekty.
VYBERTE MĚSTO OD zaměstnanců UNION VYBERTE MĚSTO Z projektů OBJEDNÁVKU PODLE MĚSTA
Výstup:
Město |
Berlín |
Dillí |
Londýn |
Bombaj |
New York |
Příklad operátora UNION ALL
Napište dotaz a načtěte města z tabulky Zaměstnanci a projekty. Zde je nutné zahrnout duplicitní hodnoty.
VYBRAT Město OD zaměstnanců UNION VŠECHNO VYBRAT Město Z PROJEKTŮ OBJEDNAT PODLE města
Výstup:
Město |
Berlín |
Berlín |
Berlín |
Dillí |
Londýn |
Bombaj |
Bombaj |
Bombaj |
New York |
New York |
Dále v tomto článku pochopíme, jak používat klauzuli UNION s SQL Aliases.
UNION s aliasem SQL
Používají se SQL aliasydát tabulce nebo sloupci dočasný název. Pojďme tedy napsat dotaz na seznam všech jedinečných zaměstnanců a projektů.
VYBERTE 'Zaměstnanec' AS Typ, Jméno, Město, Země FROM Zaměstnanci UNION VYBERTE 'Projekt', Jméno, Město, Země FROM Projekty
Výstup:
Typ | název | Město | Země |
Zaměstnanec | Emma | Berlín | Německo |
Zaměstnanec | Rahul | Bombaj | Indie |
Zaměstnanec | Aayra | New York | POUŽITÍ |
Zaměstnanec | John | Londýn | Spojené království |
Zaměstnanec | Derek | New York | POUŽITÍ |
Projekt | Projekt 1 | Berlín | Německo |
Projekt | Projekt 2 | Bombaj | Indie |
Projekt | Projekt 3 | Dillí | Indie |
Projekt | Projekt 4 | Bombaj | Indie |
Projekt | Projekt 5 | Berlín | Německo |
UNIE s klauzulí WHERE
Napište dotaz a načtěte odlišná indická města a jejich poštovní směrovací čísla z tabulky Zaměstnanci i Projekty.
VYBRAT Město, PSČ, Země FROM Zaměstnanci WHERE Země = 'Indie' UNION VYBRAT Město, PostalCode, Země FROM Projekty KDE Země = 'Indie' OBJEDNAT PODLE MĚSTA
Výstup:
Město | Poštovní směrovací číslo | Země |
Dillí | 110006 | Indie |
Bombaj | 400015 | Indie |
UNION ALL s klauzulí WHERE
Napište dotaz a načtěte indická města a jejich poštovní směrovací čísla z tabulky Zaměstnanci i projekty, kde jsou povoleny duplicitní hodnoty
Výukový program pro SQL Server pro začátečníky
VYBRAT Město, PSČ, Země FROM Zaměstnanci KDE Země = 'Indie' UNION VŠE VYBRAT Město, PostalCode, Země FROM Projekty KDE Země = 'Indie' OBJEDNAT PODLE MĚSTA
Výstup:
Město | Poštovní směrovací číslo | Země |
Dillí | 110006 | Indie |
Bombaj | 400015 | Indie |
Bombaj | 400015 | Indie |
Bombaj | 400015 | Indie |
V dalším článku pojďme pochopit, jak používat klauzule UNION a UNION ALL s JOINS.JOINS in SQL are které se používají ke kombinaci řádků ze dvou nebo více tabulek na základě souvisejícího sloupce mezi těmito tabulkami.
UNIE se PŘIPOJÍ
Operátor SQL UNION lze použít s k načtení dat ze dvou různých tabulek. Uvažuji například následující tabulku s tabulkou Zaměstnanci.
Tabulka ProjectDetails
PID | Pracovní dny | EmpID | CostforProject |
jedenáct | 12 | 4 | 20000 |
22 | 16 | 3 | 35000 |
33 | 30 | jeden | 60000 |
44 | 25 | 3 | 45000 |
55 | dvacet jedna | jeden | 50 000 |
VYBERTE EmpID, název, CostforProject OD ZAMĚSTNANCŮ LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SELECT EmpID, Name, CostforProject FROM zaměstnanců PRAVÉ PŘIPOJTE se ProjectDetails ON zaměstnanců.EmpID = ProjectDetails.EmpID
Výstup:
EmpID | název | CostforProject |
jeden | Emma | 60000 |
jeden | Emma | 50 000 |
2 | Rahul | NULA |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULA |
UNION ALL with JOINS
Napište dotaz a načtěte EmpID, název a CostforProject z tabulky Zaměstnanci a ProjectDetails, kde jsou povoleny duplicitní hodnoty.
VYBERTE EmpID, název, CostforProject OD zaměstnanců LEVÉ PŘIPOJTE se ProjectDetails ON na zaměstnance.EmpID = ProjectDetails.EmpID UNION VŠE VYBERTE EmpID, jméno, CostforProject od zaměstnanců PRAVÉ PŘIPOJTE se na ProjectDetails ON na zaměstnance.EmpID = ProjectDetails.EmpID
Výstup:
EmpID | název | CostforProject |
jeden | Emma | 60000 |
jeden | Emma | 50 000 |
2 | Rahul | NULA |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULA |
4 | John | 20000 |
3 | Aayra | 35000 |
jeden | Emma | 60000 |
3 | Aayra | 35000 |
jeden | Emma | 50 000 |
Tímto se dostávám na konec tohoto článku o SQL UNION. Doufám, že se vám tento článek ve službě SQL UNION líbil. Viděli jsme různé způsoby použití příkazů UNION a UNION ALL, které vám pomohou psát dotazy. Pokud se chcete dozvědět více o MySQL a seznamte se s touto relační databází open source, pak si prohlédněte naši který přichází s živým tréninkem vedeným instruktorem a zkušenostmi z reálného projektu. Toto školení vám pomůže porozumět MySQL do hloubky a pomůže vám dosáhnout zvládnutí předmětu.
Máte na nás dotaz? Uveďte to prosím v sekci komentářů „SQL UNION“ a ozvu se vám.