JOINS en MySQL ¡Bien Explicado!

El tema de los JOINS en MySQL muchas veces tiende a tornarse complicado al momento de intentar aprenderlos y ponerlos en practica, en este articulo aprenderemos de manera muy intuitiva como funcionan y como implementar esta característica tan robusta de MySQL.

¿Qué es un JOIN en MySQL?

Gráficamente un INNER JOIN lo podemos definir de esta forma:
INNER JOIN en MySQL


Los INNER JOIN ó JOIN los usamos normalmente en una sentencia SQL para recuperar cierta cantidad de datos de varias tablas al mismo tiempo esta consulta JOIN nos devolverá por consiguiente una tabla adicional con los datos que estén entre las tablas consultadas, dichas tablas tendrán que estar relacionadas de alguna forma, por ejemplo:
JOINS en MySQL











Como podemos observar la tabla 1 esta relacionada con la tabla 2 mediante la columna DEP, de esta forma se nos abre el camino para poder realizar JOINS y poder obtener datos de la manera que deseemos.
Usaremos un ejemplo sencillo pero que nos servirá para lo que queremos hacer; Supongamos que queremos obtener una lista de nombre, apellido y departamento de las personas que estén en el área de administración e informática.


Para ello haremos la solución con un INNER JOIN respectivamente, por lo tanto tenemos que la sintaxis básica de este es:

Dando solución a nuestro problema planteado tendríamos que:

Como lo habíamos mencionado anteriormente esa consulta nos dará como resultado una nueva tabla que es la siguiente:
JOINS en MySQL






¿Cómo usar LEFT JOIN?

Este tipo de JOIN nos devuelve los datos que estén en la primera tabla que coincidan con los datos que estén en la segunda tabla, en caso de que no encuentre o falte algún dato este devolverá un null.
JOINS en MySQL


Para este ejemplo supongamos que queremos obtener los nombres, apellidos y departamento de las personas que trabajen en administración e informática.

La sintaxis básica de un LEFT JOIN

Dando solución al problema planteado nos quedaría de la siguiente forma:

La tabla resultante nos quedaría de la siguiente forma:





 


¿Cómo usar RIGHT JOIN?

Podríamos decir que este JOIN es lo inverso al anterior ya que este nos devuelve los datos de la segunda tabla que coincidan también con los datos de la primera, igualmente se cumple la regla de que si no encuentra el dato devolverá un null.
Con base en el ejemplo anterior tenemos que el resultado nos quedaría de la siguiente forma








¿Cómo usar FULL JOIN?

En este caso este JOIN consiste en recuperar todos los datos de ambas tablas tanto loas que tienen contenido como las que no.
JOINS en MySQL




Pues listo, todo este mundo suena muy bonito y maravilloso, pero realmente ¿entiendes los JOINS? tomaré en cuenta dudas que en mi proceso de aprendizaje se me presentaron, dudas que quizás también tu tengas, como, ¿Por qué se hacen consultas con JOINS?, ¿No es mejor utilizar algo mas simple como una única sentencia SELECT?, ¿y si quiero obtener datos de al menos 4 tablas como lo hago?
es por esto que intentaremos explicar a mas profundidad para resolver este tipo de dudas.

Pues bien, primero lo primero, debemos entender la sintaxis de un JOIN, para esto tomaremos la sintaxis básica de un JOIN

Entonces explicaremos bloque por bloque...
SELECT column1,column2,clumn3
En esta sección vamos a especificar las columnas a seleccionar, es decir los datos que vamos a querer mostrar, pero para ser mas específicos y no tener problemas con MySQL ó el motor de bases de datos que utilicemos, es mejor plantear la sentencia SELECT de la siguiente forma:
SELECT table1.column1,table1.column2,table2.column1 y así sucesivamente.

FROM table
Esta sentencia indica la tabla principal desde la cual extraeremos los datos principalmente.
NNER JOIN table WHERE table1.column1 = table2.column2
Bueno es aquí donde entramos en tema, la sentencia INNER JOIN es donde vamos a especificar el tipo de JOIN a utilizar, aquí podremos utilizar como ya lo vimos un LEFT JOIN, FULL OUTHER JOIN, respectivamente


Excelente, el ON podemos decir que funciona como la sentencia WHERE donde indicamos el campo de nuestra tabla principal que compararemos con el campo de la segunda tabla respectivamente.

¿Podemos hacer consultas sobre 4 tablas a la vez con JOINS?

¡Claro que si!, podemos plantear JOINS con las tablas que deseemos, solo tengamos en cuenta que cuanto mas datos queramos obtener mas lenta será la consulta, veamos un ejemplo...

Los JOINS son una característica robusta y maravillosa como lo habíamos mencionado anteriormente, pero puede ser complicado a veces, pero nada es fácil al principio, veras que con practica y si eres curioso o curiosa descubrirás cosas increíbles sobre los JOINS, prueba a hacer consultas con diferentes JOINS, juega un poco y veras que resultan cosas increíbles.

Si quieres aprender mas sobre JOINS te invito a que eches un vistazo al manual de MySQL ya que la mayoría de la información en este blog proviene de ahí.

Comenta si te ha quedado alguna duda, ¡comparte.!

Comentarios

Artículos interesantes

Arrays en Java

Que es Java Spring Boot

Que es PL/SQL Ejemplos Básicos

Aprende a implementar Sockets en java, ejemplo sencillo

¿Qué son los Sockets en java y como funcionan?