En aquest tutorial, aprendrem a utilitzar la clàusula SQL UNION per combinar el resultat de dues o més sentències SELECT en un únic conjunt de resultats.
La il·lustració següent mostra la visió general d'una consulta SQL UNION:
Sintaxi SQL UNION
A continuació es mostra la sintaxi per combinar dues sentències selectes mitjançant una clàusula UNION:
SELECCIONA
col_1,
col_2,
...col_N
DE
tbl_1
UNIÓ
SELECCIONA
col_1,
col_2,
...col_N
DE
tbl_2;
Abans de realitzar una consulta sindical, s'han de complir els requisits següents:
- El nombre de columnes de cada instrucció select ha de ser idèntic.
- La columna a la mateixa posició de cada instrucció select ha de ser de tipus de dades similar.
- L'ordre de les columnes ha de ser correcte en totes les declaracions selectes.
Il·lustrem com podem utilitzar una consulta UNION amb una taula real.
Taula 1:
A continuació es mostren les columnes i les dades de la primera taula:
id|nom_servidor |adreça |versió_instal·lada|
--+-------------+--------------+-----------------+
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 |
Taula 2:
L'estructura i els registres de la segona taula són els que es mostren a continuació:
id|eina |versió|llicència |--+----------------------------+-------+---------- +
1|SQL Server Management Studio|18.0 |comercial|
2|Kibana |7.17.7 |gratuït |
3|DBeaver |22.2 |Empresa|
4|DataGrip |2022.2 |Comercial|
Taules SQL UNION
Podem realitzar una operació UNION sobre els valors d'ambdues taules tal com es mostra a la consulta següent:
SELECCIONASERVER_NAME,
INSTALLED_VERSION
DE
STACK_MAPPING
UNIÓ
SELECCIONA
EINA,
VERSIÓ
DE
CONNECTOR;
Això hauria de combinar les consultes i tornar una taula de la següent manera:
nom_servidor |versió_instal·lada|----------------------------+-----------------+
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 |
Conclusió
Aquest article proporciona els conceptes bàsics per treballar amb la clàusula UNION a SQL per combinar els resultats de dues o més sentències SELECT. No dubteu a consultar els altres tutorials per obtenir més informació.