SQL - Unio
Az unio utasítást akkor használjuk ha rögzített eredményeket akarunk összekapcsolni egy vagy több utasításban. Minden egyes utasításnak az Unión belül meg kell egyeznie az oszlopok számával. Az oszlopok is hasonlóan adattípusok. Ha több táblára vonatkozóan szeretnénk olyan lekérdezést írni, amiben a lekérdezések eredményének uniójára van szükségünk, az unio kulcsszót kell használnunk. Az UNION használatával az egyedi értékek kerülnek megjelenítésre, tehát ha ugyanaz az adat több táblában is szerepelt, akkor az eredményhalmaz csak az egyiket fogja tartalmazni. Ha nem ezt szeretnénk, akkor a unio all (összes,minden) kulcsszót használhatjuk, ekkor minden érték megjelenik a listában. Ügyeljünk arra, hogy ezen művelet használatánál az egyes oszlopoknak ugyanolyan típusúnak kell lenni.
Sql unio szintaxis:
SELECT tábla_név FROM tábla_név1
UNION
SELECT oszlop_név FROM tábla_név2
Az unio csak különböző értékeket választ alapértelmezettként. Ahhoz hogy ismétlődő értékeket kapjunk használni kell az unio all (összes,minden) kulcsszavakat.
Sql unio all szintaxis:
SELECT oszlop_név FROM tábla_név1
UNION ALL
SELECT oszlop_név FROM tábla_név2
Az "Alkalmazottak_Európa" táblázat:
| alkalmazottak_azonosító | alkalmazottak_név |
| 1 | Kovács Péter |
| 2 | Tóth István |
| 3 | Kiss Viola |
| 4 | Török Aranka |
Az "Alkalmazottak_ USA" táblázat:
| alkalmazottak_azonosító | alkalmazottak_név |
| 1 | Hajdú Péter |
| 2 | Kovács Áron |
| 3 | Fülöp Gergely |
| 4 | Török Aranka |
Most azokat az alkalmazottakat szeretnénk kiválasztani akik Európa ás az USA táblázatban szerepelnek.
Kód:
SELECT alkamazottak_név FROM alkalmazottak_Európa
UNION
SELECT alkalmazottak_név FROM alkamazottak_USA
A megoldás kiírás szerint:
| Kovács Péter |
| Tóth István |
| Kiss Viola |
| Török Aranka |
| Hajdú Péter |
| Kovács Áron |
| Fülöp Gergely |
Ez a parancs nem használható az összes alkalmazottra az Európa és USA táblából. Mivel a fenti példában két alkalmazottnak megeggyezik a neve és így csak az eggyiküket kell felsorolni. Mivel az unio csak a különböző értékeket választja ki és sorolja azokat fel.
Sql unio all szintaxis:
Kód:
SELECT alkalmazottak_név FROM alkalmazottak_Európa
UNION ALL
SELECT alkalmazottak_név FROM alkalmazottak_USA
A megoldás kiírás szerint:
| Kovács Péter |
| Tóth István |
| Kiss VIola |
| Török Aranka |
| Hajdú Péter |
| Kovács Áron |
| Fülöp Gergely |
| Török Aranka |