I den här handledningen kommer vi att lära oss hur du använder SQL UNION-satsen för att kombinera resultatet från två eller flera SELECT-satser till en enda resultatuppsättning.
Följande illustration visar översikten av en SQL UNION-fråga:
SQL UNION-syntax
Följande visar syntaxen för att kombinera två select-satser med en UNION-sats:
VÄLJ
kol_1,
kol_2,
...kol_N
FRÅN
tbl_1
UNION
VÄLJ
kol_1,
kol_2,
...kol_N
FRÅN
tbl_2;
Innan du utför en facklig fråga måste följande krav uppfyllas:
- Antalet kolumner i varje select-sats måste vara identiskt.
- Kolumnen på samma plats i varje select-sats måste vara av liknande datatyp.
- Ordningen på kolumnerna måste vara korrekt i alla utvalda uttalanden.
Låt oss illustrera hur vi kan använda en UNION-fråga med en faktisk tabell.
Bord 1:
Följande visar kolumnerna och data i den första tabellen:
id|servernamn |adress |installerad_version|
--+------------+--------------+----------------+
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 |
Tabell 2:
Strukturen och uppgifterna i den andra tabellen är som visas i följande:
id|verktyg |version|licensierad |--+-----------------------------+-------+---------------- +
1|SQL Server Management Studio|18.0 |kommersiell|
2|Kibana |7.17.7 |gratis |
3|DBeaver |22.2 |Företag|
4|DataGrip |2022.2 |Kommersiell|
SQL UNION-tabeller
Vi kan utföra en UNION-operation på värdena i båda tabellerna som visas i följande fråga:
VÄLJSERVER NAMN,
INSTALLED_VERSION
FRÅN
STACK_MAPPING
UNION
VÄLJ
VERKTYG,
VERSION
FRÅN
KONTAKT;
Detta bör kombinera frågorna och returnera en tabell enligt följande:
server_name |installed_version|----------------------------+-----------------+
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 |
Slutsats
Den här artikeln innehåller grunderna för att arbeta med UNION-satsen i SQL för att kombinera resultaten av två eller flera SELECT-satser. Kolla gärna de andra handledningarna för mer.