Uniones externas

Una unión externa es un método para combinar dos o más tablas de modo que el resultado incluya filas no coincidentes de una de las tablas, o de ambas. El cotejo se basa en la condición de unión.

Db2 admite tres tipos de uniones externas:

Unión externa izquierda
Un resultado de unión externa izquierda incluye las filas de la tabla izquierda que faltaban en la unión interna. El resultado de T1 LEFT OUTER JOIN T2 consiste en sus filas emparejadas y, para cada fila no emparejada de T1, la concatenación de esa fila con la fila nula de T2. Todas las columnas derivadas de T2 permiten valores nulos. Para más información, consulte Unión externa izquierda.
Unión externa derecha
Un resultado de unión externa derecha incluye las filas de la tabla derecha que faltaban en la unión interna. El resultado de T1 RIGHT OUTER JOIN T2 consiste en sus filas emparejadas y, para cada fila no emparejada de T2, la concatenación de esa fila con la fila nula de T1. Todas las columnas derivadas de T1 permiten valores nulos. Para más información, consulte Unión exterior derecha.
Unión externa completa
Un resultado de unión externa completa incluye las filas de ambas tablas que faltaban en la unión interna. El resultado de T1 FULL OUTER JOIN T2 consiste en sus filas emparejadas y, para cada fila no emparejada de T1, la concatenación de esa fila con la fila nula de T2, y para cada fila no emparejada de T2, la concatenación de esa fila con la fila nula en T1. Todas las columnas de la tabla de resultados permiten valores nulos. Para más información, consulte Unión externa completa.

Ejemplos de uniones exteriores

Los siguientes ejemplos utilizan dos tablas: la tabla de piezas (PARTS) y la tabla de productos (PRODUCTS), que consisten en suministros de hardware.

La figura siguiente muestra que cada fila de la tabla PARTS contiene datos de un único componente: el nombre de componente, el número de componente y el proveedor del componente.

Figura 1. Tabla PARTS de ejemplo
Comenzar descripción de figura. Tabla PARTS de ejemplo. Finalizar descripción de figura.

La figura siguiente muestra que cada fila de la tabla PRODUCTS contiene datos para un único producto: el número, el nombre y el precio del producto.

Figura 2. Tabla PRODUCTS de ejemplo
Comenzar descripción de figura. Tabla PRODUCTS de ejemplo. Finalizar descripción de figura.

La figura siguiente muestra las distintas formas de combinar las tablas PARTS y PRODUCTS utilizando funciones de unión externa. La ilustración se basa en un subconjunto de columnas de cada tabla.

Figura 3. Uniones exteriores de dos mesas. La condición de unión para cada unión se define en la columna PROD#.
Comenzar descripción de figura. Esta figura muestra las distintas
formas de combinar las tablas PARTS y PRODUCTS utilizando funciones de unión
externa. Finalizar descripción de figura.

Una unión interna consta de filas formadas a partir de las tablas PARTS y PRODUCTS, basándose en la coincidencia de igualdad de valores de columna entre la columna PROD# de la tabla PARTS y la columna PROD# de la tabla PRODUCTS. La unión interna no contiene ninguna fila formada a partir de columnas no coincidentes cuando las columnas PROD# no son iguales.

Se pueden especificar uniones en la cláusula FROM de una consulta. Se unen los datos de las filas que cumplen las condiciones de búsqueda de todas las tablas para formar la tabla de resultados.

Las columnas resultantes de una unión tienen nombres si la lista SELECT más exterior hace referencia a columnas base. Sin embargo, si se utiliza una función (por ejemplo, COALESCE) para crear una columna del resultado, dicha columna no tiene ningún nombre a menos que se utilice la cláusula AS en la lista SELECT.