En este post, te compartiremos el funcionamiento de Full Join en SQL y algunos ejemplos de esta sentencia tan recurrente. Antes de empezar, debes saber que SQL JOIN es uno de los principales componentes de la sentencia Select. Esta se emplea para extraer datos del SQL Server y sirve para combinar filas de al menos dos tablas gracias a un campo común entre ellas.
Funcionamiento Full Join en SQL
Full Join o Full outer join devuelve un conjunto de resultados que incluye filas de las tablas izquierda y derecha. Cuando no existen filas coincidentes para la fila de la tabla de la izquierda, las columnas de la tabla de la derecha tendrán nulos. De manera similar, cuando no existen filas coincidentes para la fila de la tabla de la derecha, la columna de la tabla de la izquierda tendrá NULL. Otras cláusulas que puedes utilizar para hacer combinaciones entre tablas son Inner Join, Left Join y Right Join.
A continuación, se muestra un SELECT usando Full Outer Join al unir dos tablas T1 y T2:
// full outer join sql server ejemplos
SELECT
select_list
FROM
T1
FULL OUTER JOIN T2 ON join_predicate;
La palabra clave Outer es opcional, por lo que puedes omitirla como se muestra en la siguiente consulta:
// fulljoin
SELECT
select_list
FROM
T1
FULL JOIN T2 ON join_predicate;
En esta sintaxis:
- Primero, se especifica la tabla izquierda T1 en la cláusula FROM.
- En segundo lugar, se especifica la tabla T2 de la derecha y un predicado de combinación.
Como comentábamos anteriormente, la sentencia Full Join en SQL combinará los valores de la primera tabla con los valores de la segunda tabla. Siempre devolverá las filas de las dos tablas, aunque no cumplan la condición.
La sentencia Full Join es la unión de Left Join y Right Join.
SELECT * FROM tabla1 FULL JOIN tabla2 WHERE tabla1.columna1 = tabla2.columna1
Ejemplo de Full Join en SQL
per | nombre | apellido1 | apellido2 | dep |
1 | ANTONIO | PEREZ | GOMEZ | 1 |
2 | ANTONIO | GARCIA | RODRIGUEZ | 2 |
3 | PEDRO | RUIZ | GONZALEZ | 4 |
Tabla “departamentos”, con la clave primaria “dep”.
dep | departamento |
1 | ADMINISTRACION |
2 | INFORMATICA |
3 | COMERCIAL |
SELECT nombre, apellido1, departamento
FROM personas
FULL JOIN departamentos
WHERE personas.dep = departamentos.dep
nombre | apellido1 | departamento |
ANTONIO | PEREZ | ADMINISTRACION |
ANTONIO | GARCIA | INFORMATICA |
PEDRO | RUIZ | COMERCIAL |
Ya sabes cómo funciona Full Join en SQL y te hemos mostrado algunos ejemplos. Si quieres seguir aprendiendo sobre esto y mucho más, te proponemos nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning. Aquí desarrollarás un amplio conocimiento de estadística para convertirte en un experto Data Scientist. ¡Da el paso ahora!