W tym samouczku nauczymy się, jak używać klauzuli SQL UNION, aby połączyć wynik z dwóch lub więcej instrukcji SELECT w jeden zestaw wyników.
Poniższa ilustracja przedstawia omówienie zapytania SQL UNION:
Składnia SQL UNION
Poniżej przedstawiono składnię łączenia dwóch instrukcji select przy użyciu klauzuli UNION:
WYBIERZ
kol_1,
kol_2,
...col_N
Z
tbl_1
UNIA
WYBIERZ
kol_1,
kol_2,
...col_N
Z
tabela_2;
Przed wykonaniem zapytania składającego należy spełnić następujące wymagania:
- Liczba kolumn w każdej instrukcji select musi być taka sama.
- Kolumna w tej samej pozycji w każdej instrukcji select musi mieć podobny typ danych.
- Kolejność kolumn musi być poprawna we wszystkich instrukcjach select.
Zilustrujmy, jak możemy użyć zapytania UNION z rzeczywistą tabelą.
Tabela 1:
Poniżej przedstawiono kolumny i dane w pierwszej tabeli:
id|nazwa_serwera |adres |zainstalowana_wersja|
--+--------------+---------------+-----------------+
1|Serwer SQL |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:
Strukturę i zapisy drugiej tabeli przedstawiono poniżej:
id|tool |wersja|licencjonowana |--+---------------------------------+-------+----- ----- +
1|SQL Server Management Studio|18.0 |komercyjne|
2|Kibana |7.17.7 |darmowe |
3|DBeaver |22.2 |Przedsiębiorstwo|
4|DataGrip |2022.2 |Komercyjne|
Tabele SQL UNION
Możemy wykonać operację UNION na wartościach obu tabel, jak pokazano w następującym zapytaniu:
WYBIERZNAZWA SERWERA,
INSTALLED_VERSION
Z
STACK_MAPPING
UNIA
WYBIERZ
NARZĘDZIE,
WERSJA
Z
ZŁĄCZE;
Powinno to połączyć zapytania i zwrócić tabelę w następujący sposób:
nazwa_serwera |zainstalowana_wersja|----------------------------+-----------------+
SQL Server |15.0 |
Elasticsearch |8.4.3 |
Redis |6.0 |
PostgreSQL |14.5 |
SQL Server Management Studio|18.0 |
Kibana |7.17.7 |
DBeaver |22.2 |
DataGrip |2022.2 |
Wniosek
W tym artykule przedstawiono podstawy pracy z klauzulą UNION w języku SQL w celu połączenia wyników dwóch lub więcej instrukcji SELECT. Zapraszam do zapoznania się z innymi samouczkami, aby uzyskać więcej informacji.