Diferencias entre RIGHT OUTER JOIN y LEFT OUTER JOIN

| Última modificación: 8 de julio de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Quieres conocer cuáles son las diferencias entre RIGHT OUTER JOIN y LEFT OUTER JOIN? ¡Pues continua leyendo este post!

Se trata de un concepto realmente necesario cuando estás empezando en el aprendizaje de este mundillo y, por eso, queremos que lo que explicaremos a continuación quede en tu memoria, para que lo puedas reproducir en realización y consultas futuras dentro de bases de datos.

Así pues, para que te conviertas en un experto, te detallamos las diferencias entre RIGHT OUTER JOIN y LEFT OUTER JOIN y la sintaxis de cada uno.

Diferencias entre RIGHT OUTER JOIN y LEFT OUTER JOIN

Con el lenguaje de computación para bases de datos con SQL dentro de máquinas virtuales como MySQL y en herramienta de Virtual Box, es necesario conocer las diferencias entre los comandos que se pueden utilizar para interactuar con el conjunto de tablas de una base de datos.

Uno de los elementos más utilizados en SQL es el comando de JOIN, que tiene varios tipos. A continuación, te hablaremos acerca de dos de ellos: RIGHT OUTER JOIN y LEFT OUTER JOIN, que parecen ser los dos “extremos”.

En qué consiste RIGHT OUTER JOIN

En primer lugar, el RIGHT OUTER JOIN es una sentencia de SQL que se utiliza para obtener todos los resultados de una tabla número 2 o tabla secundaria, así como los elementos que comparten o registros que están duplicados en ambas tablas.

La sintaxis general del RIGHT OUTER JOIN se puede ver de la siguiente manera:

SELECT nombredelasColumna(s)
FROM tabla1
RIGHT JOIN tabla2
ON tabla1.nombredelaColumna = tabla2.nombredelaColumna;

Ejemplificación de RIGHT OUTER JOIN

Para que quede mucho más claro el uso y la sintaxis de esta sentencia, queremos traerte una porción de un ejercicio práctico que realizamos en una de las versiones de nuestro bootcamp de Big Data. Este ejercicio se realizó con base en la serie animada de Los Simpson, la cual cuenta con varios personajes que se relacionan con otros elementos, sujetos o espacios de la serie.

En este caso, vamos a enfocarlo en la tabla de datos relacionados con los personajes que se encuentran casados con otros personajes, es decir, los matrimonios.

Así pues, en un principio, listaremos todos los registros o campos con una etiqueta alternativa para los datos allí establecidos:

SELECT PER.ID_PERSONAJE
.PER.DESC_PERSONAJE
.PER.ID_FAMILIA
.FAM.DESC
.PER.ID_SEXO
.SEXO.DESC_SEXO
.PER.ID_MATRIMONIO
.PER.ID_LUGAR_RESIDENCIA
.PER.ID_PROFESION
.PER.ID_LUGAR_PROFESION
FROM PERSONAJES PER

Una vez tengas esta sentencia, vas a poder ejecutar las sentencias de RIGHT OUTER JOIN como la sintaxis que ya te hemos mostrado. Esta sentencia ejemplificada en nuestro ejercicio práctico lucirá de la siguiente manera:

RIGHT OUTER JOIN MATRIMONIO = MATRIMONIO ON PER.ID_MATRIMONIO .ID_MATRIMONIO

RIGHT OUTER JOIN MATRIMONIO MAT ON PER.ID_MATRIMONIO = MAT.ID_MATRIMONIO

De esta manera, ya habrás juntado los elementos de ambas tablas.

En qué consiste LEFT OUTER JOIN

Por otro lado, y al otro lado del extremo, la sentencia de LEFT OUTER JOIN es un elemento que te permite obtener todos los registros de una tabla que se establezca como la número 1, es decir, con la tabla de la izquierda, así como los registros que comparta con la otra tabla en cuestión.

La sintaxis de LEFT OUTER JOIN luce de la siguiente manera:

SELECT nombredelasColumnas
FROM tabla1
LEFT JOIN tabla2
ON tabla1.nombredelaColumna = tabla2.nombredelaColumna;

Para que te quede más claro su funcionamiento, volvemos a traer el ejercicio práctico sobre Los Simpson y la misma combinación de las tablas de matrimonio.

SELECT PER.ID_PERSONAJE
.PER.DESC_PERSONAJE
.PER.ID_FAMILIA
.FAM.DESC
.PER.ID_SEXO
.SEXO.DESC_SEXO
.PER.ID_MATRIMONIO
.PER.ID_LUGAR_RESIDENCIA
.PER.ID_PROFESION
.PER.ID_LUGAR_PROFESION
FROM PERSONAJES PER

Una vez listados los registros, podrás ver cómo se utiliza la sentencia para obtener los resultados requeridos en SQL:

LEFT OUTER JOIN MATRIMONIO = MATRIMONIO ON PER.ID_MATRIMONIO .ID_MATRIMONIO

LEFT OUTER JOIN MATRIMONIO MAT ON PER.ID_MATRIMONIO = MAT.ID_MATRIMONIO

Ahora conoces las dos partes que equilibran el uso de JOIN y sus tipos, es decir, sabes cuáles son las diferencias entre RIGHT OUTER JOIN y LEFT OUTER JOIN.

De esta manera, podrás localizar los requerimientos de tus procesos en bases de datos, para utilizar cualquiera de estas sentencias y obtener los resultados que necesites.

Como ves, este solo es un pequeño porcentaje de lo que podrías aprender si te matriculas en nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. ¿Te imaginas un nuevo futuro laboral? ¡No te lo pierdas y apúntate ahora mismo!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado