SQL FULL JOIN

 Función FULL JOIN


La función FULL JOIN nos devuelve los registros  que coinciden en ambas tablas, ya sea que la otra coincida o no( el valor devuelto será Null sino hay coincidencia de registros).


Sintaxis
SELECT Nombre_Columna
FROM Tabla1
FULL OUTER JOIN Tabla2
ON Table1.Nombre_Columna = Table2.Nombre_Columna

A continuación vamos a realizar algunos ejemplos utilizando dos tablas relacionadas llamada Catálogos y otra ValorCatalogo:

Tabla Catálogos


ValorCatalogos


Ambas tablas mostradas tiene grandes cantidades de registros para los ejemplos que vamos a realizar usaremos la clausula WHERE para obtener algunos registros.

Ejemplo 1

Veamos vamos a seleccionar los registros de presentaciones de producto y su valor en catalogo.

SELECT SC.Nombre,SV.Descripcion AS ValorCatalogo  FROM StbCatalogos AS SC
FULL JOIN StbValorCatalogos AS SV ON SV.objCatalogoID = SC.ID 

Vamos a ejecutar el resultado de la consulta creada para ver el resultado:


La consulta que hemos creado nos va mostrar todo los registros de ambas tablas siempre y cuando haiga coincidencia.

de no haber coincidencia de registros la consulta nos va retornar todo los registros pero los campos de la tabla que no tenga registros coincidentes se mostrara en NULL, veamos:

Al ejecutar la misma consulta nuevamente podemos ver que de todo los registros mostrados hay algunos campos de la tabla Valor de catalogo que aparecen en Null ya que no hay registros que coincidan.

Ejemplo 2

Ahora vamos a realizar un ejemplo seleccionando el catalogo cuyo nombre sea "Presentacion" y todos sus valores de catalogo.

SELECT SC.Nombre,SV.Descripcion AS ValorCatalogo  FROM StbCatalogos AS SC
FULL JOIN StbValorCatalogos AS SV ON SV.objCatalogoID = SC.ID 
WHERE SC.Nombre = 'presentaciones'

Ejecutemos la consulta para obtener el resultado de los registros.


El ejemplo mostrado nos va mostrar todo los registros de presentación de producto en ambas tablas

En esta sección hemos estudiado la función Full Join la cual nos devuelve los registros de ambas tablas(Tabla izquierda, tabla derecha).


Publicar un comentario

0 Comentarios