V tej vadnici se bomo naučili, kako uporabiti klavzulo SQL UNION za združevanje rezultatov dveh ali več stavkov SELECT v en nabor rezultatov.
Naslednja slika prikazuje pregled poizvedbe SQL UNION:
Sintaksa SQL UNION
V nadaljevanju je prikazana sintaksa za združevanje dveh izbirnih stavkov s klavzulo UNION:
IZBERI
col_1,
col_2,
...col_N
OD
tbl_1
UNION
IZBERI
col_1,
col_2,
...col_N
OD
tbl_2;
Pred izvedbo poizvedbe o združevanju morajo biti izpolnjene naslednje zahteve:
- Število stolpcev v vsakem stavku select mora biti enako.
- Stolpec na istem mestu v vsakem stavku za izbiro mora biti podobne vrste podatkov.
- Vrstni red stolpcev mora biti pravilen v vseh izbranih stavkih.
Naj ponazorimo, kako lahko uporabimo poizvedbo UNION z dejansko tabelo.
Tabela 1:
Sledi prikaz stolpcev in podatkov v prvi tabeli:
id|ime_strežnika |naslov |nameščena_različica|
--+-------------+--------------+------------------+
1|SQL Server |localhost:1433|15.0 |
2|Elasticsearch|localhost:9200|8.4.3 |
3|Redis |localhost:6379|6.0 |
4|PostgreSQL |localhost:5432|14.5 |
Tabela 2:
Struktura in zapisi druge tabele so prikazani v nadaljevanju:
id|orodje |različica|licencirano |--+--------------------------+-------+---------- +
1|SQL Server Management Studio|18.0 |komercialno|
2|Kibana |7.17.7 |brezplačno |
3|DBober |22.2 |Podjetje|
4|DataGrip |2022.2 |Komercialno|
Tabele SQL UNION
Na vrednosti obeh tabel lahko izvedemo operacijo UNION, kot je prikazano v naslednji poizvedbi:
IZBERISERVER_NAME,
INSTALLED_VERSION
OD
STACK_MAPPING
UNION
IZBERI
ORODJE,
RAZLIČICA
OD
PRIKLJUČEK;
To bi moralo združiti poizvedbe in vrniti tabelo, kot sledi:
ime_strežnika |nameščena_različica|----------------------------+----------------+
SQL Server |15.0 |
Elasticsearch |8.4.3 |
Redis |6.0 |
PostgreSQL |14.5 |
SQL Server Management Studio|18.0 |
Kibana |7.17.7 |
DBober |22.2 |
DataGrip |2022.2 |
Zaključek
Ta članek podaja osnove dela s klavzulo UNION v SQL za združevanje rezultatov dveh ali več stavkov SELECT. Za več si oglejte druge vadnice.