La cláusula UNION permite unir consultas de dos o más sentencias SELECT FROM. Su formato es:
SELECT columnas
FROM tabla
[WHERE condiciones]
UNION [ALL]
SELECT columnas
FROM tabla
[WHERE condiciones];
ciudad |
Barcelona |
Girona |
Lleida |
Tarragona |
Si ponemos la opción ALL, aparecerán todas las filas obtenidas a causa de la unión. No la pondremos si queremos eliminar las filas repetidas. Lo más importante de la unión es que somos nosotros quienes tenemos que procurar que se efectúe entre columnas definidas sobre dominios compatibles; es decir, que tengan la misma interpretación semántica. Como ya hemos comentado, el SQL92 no nos ofrece herramientas para asegurar la compatibilidad semántica entre columnas.
Utilización de la unión en BDUOC
Si queremos saber todas las ciudades que hay en nuestra base de datos, podríamos hacer:
SELECT ciudad
FROM clientes
UNION
SELECT ciudad_dep
FROM departamentos;
El resultado de esta consulta sería el que se muestra al margen.