Volver a la lista de artículos Artículos
Lectura de 8 minutos

Cómo aprender a hacer JOINs en SQL

Los JOINs son uno de los comandos SQL más fundamentales y comúnmente utilizados para manipular y consultar conjuntos de datos del mundo real. También son uno de los temas SQL más difíciles de dominar. En este artículo, aprenderá una estrategia efectiva para aprender los diferentes tipos de Tipos de JOIN en SQL.

Cuando los datos se almacenan en una sola tabla, podemos recuperar fácilmente las filas y obtener toda la información que necesitamos. Pero cuando las empresas escalan, también lo hacen sus datos. Y en realidad, los datos suelen estar repartidos en varias tablas de una base de datos relacional. En los casos en que los datos abarcan varias tablas, primero tenemos que unir esas tablas antes de poder seleccionar y utilizar cualquier dato.

¿Qué es Tipos de JOIN en SQL?

A medida que se avanza desde la etapa de principiante en SQL y se empieza a trabajar con conjuntos de datos del mundo real, se encontrará con la necesidad de combinar datos de más de una tabla. Para hacer esto, necesitará aprender el comando SQL JOIN y todas sus diferentes variantes.

Las sentencias JOIN se utilizan en las consultas SQL para enlazar registros de dos tablas basándose en una clave única común. Normalmente, utilizamos una combinación de claves primarias y foráneas para enlazar las tablas. Tipos de JOIN en SQL A menudo puede ser un concepto desalentador de entender, especialmente si usted está empezando. Los diferentes tipos de JOINs y sus casos de uso hacen que sean aún más difíciles de visualizar.

JOINs

Tipos de Tipos de JOIN en SQL

En SQL, los JOINs son un tema bastante amplio. Lo que distingue a cada tipo de JOIN de otro son las filas devueltas cuando la condición de unión se cumple (o no se cumple). Para especificar qué tipo de JOIN utilizar, añada su nombre - es decir, INNER, LEFT, RIGHT, FULL, o CROSS - justo antes del comando JOIN.

Unión Completa Izquierda-Derecha

A continuación se ofrece una breve descripción de los diferentes tipos de JOIN:

Un INNER JOIN devuelve filas cuando la condición de unión se cumple en ambas tablas. En otras palabras, devuelve sólo los registros que coinciden con la condición de unión en ambas tablas. (Aprenda más sobre los INNER JOINs aquí.) Este es el tipo más común de SQL JOIN. También es el predeterminado cuando no se especifica el tipo de JOIN.

Un OUTER JOIN devuelve todas las filas de una tabla y algunas o todas las filas de otra tabla. (Aprenda más sobre los OUTER JOINs aquí.) Hay tres tipos de uniones externas:

Una LEFT JOIN devuelve todas las filas de la tabla izquierda, incluso si no se han encontrado filas coincidentes en la tabla derecha. Si no hay coincidencias en la tabla derecha, la consulta devolverá valores NULL para esas columnas. Uno de nuestros artículos anteriores ofrece una visión más profunda de las LEFT JOINs que creo que le resultará muy útil.

Un RIGHT JOIN devuelve todas las filas de la tabla derecha. Si no hay coincidencias en la tabla izquierda, se devuelven valores NULL para esas columnas.

Un FULL JOIN es esencialmente una combinación de LEFT JOIN y RIGHT JOIN. Devuelve todas las filas de ambas tablas. Cuando no se encuentra ninguna coincidencia ni en la tabla derecha ni en la izquierda, devuelve valores NULL para esas columnas. En otras palabras, es la unión de las columnas de las dos tablas.

Un CROSS JOIN, a menudo denominado JOIN cartesiano, devuelve todas las combinaciones posibles de filas de las tablas que se han unido. Dado que devuelve todas las combinaciones, es el único JOIN que no necesita una condición de unión y, por tanto, no tiene una cláusula ON. Para saber más sobre los CROSS JOINs, haga clic aquí.

También puede aprender sobre Tipos de JOIN en SQL y sus tipos en nuestra serie de YouTube We Learn SQL. Vea el clip a continuación. Suscríbase a nuestro canal y deje un comentario.

Los JOINs pueden ser usados para conectar más de dos tablas. Los JOINs múltiples son consultas que contienen más de una cláusula JOIN. Pueden tener el mismo tipo de JOIN o mezclar diferentes tipos de JOIN. Estas consultas permiten combinar varias tablas. Se realizan simplemente añadiendo cláusulas JOIN adicionales a su sentencia SELECT. Para unir varias tablas a través de este método, debe haber una relación lógica entre las tablas. Para un caso de uso más específico, recomiendo consultar nuestro artículo sobre cómo unir 3 tablas (o más) en SQL.

Dominio de Tipos de JOIN en SQL

El dominio de cualquier oficio técnico requiere la resolución de retos del mundo real y está anclado en una sólida base técnica. Para aprender Tipos de JOIN en SQL, eso significa:

Aprender los fundamentos

La forma en que funcionan algunos de estos JOINs es a menudo difícil de visualizar, por lo que definitivamente vale la pena buscar ejemplos específicos para cada uno de ellos. Uno de nuestros artículos anteriores sobre los diferentes tipos de Tipos de JOIN en SQL proporciona ejemplos visuales detallados. Al repasar los ejemplos, aprenderá a apreciar la singularidad de cada uno y cómo se implementan a través de la sintaxis JOIN.

Aunque los JOINs listados arriba son los más usados, las aplicaciones del mundo real pueden a veces justificar la implementación de tipos de JOIN más complejos. No vamos a profundizar en ellos en este artículo, pero eche un vistazo a nuestros artículos anteriores que cubren el non-equi JOIN y el SELF JOIN.

Probablemente esté ansioso por sumergirse y poner a prueba sus habilidades de desarrollo mientras aprende Tipos de JOIN en SQL. Sin embargo - habiendo pasado por mi propio viaje de aprendizaje y experimentado el mismo afán - te aconsejaría que primero absorbieras bien tus nuevos conocimientos. Practica un poco antes de empezar con bases de datos reales.

En mi opinión, una de las mejores formas de aprender los fundamentos de Tipos de JOIN en SQL es el curso SQL para principiantes y sus secciones sobre JOINs (módulos 3 y 5). Debe ser capaz de comparar y contrastar los tipos de JOINs y entender la diferencia de cada uno de ellos a la hora de devolver sus resultados. Trate de visualizar la interacción entre las tablas que se unen; este curso le ayudará a ello.

Practicar con conjuntos de datos reales

Tipos de JOIN en SQL puede ser un concepto bastante difícil de dominar, especialmente para los principiantes; por un lado, los materiales de aprendizaje y práctica deben reflejar casos de uso del mundo real para que los alumnos comprendan correctamente el material. Aun así, los JOINS en la vida real suelen ser más complicados que los ejemplos de los libros de texto. Una vez que se han aprendido los fundamentos, es necesario practicar la escritura de JOINs SQL en escenarios realistas.

Puede ser un reto para las personas encontrar conjuntos de datos adecuados. Me identifico totalmente con esto: yo mismo pasé por lo mismo. Además, es difícil idear tus propios ejercicios que cubran los diferentes tipos de Tipos de JOIN en SQL.

LearnSQL.es's Tipos de JOIN en SQL ofrece un contenido exhaustivo sobre el aprendizaje y la práctica de los JOINs en un entorno interactivo y estructurado. Los conjuntos de datos son realistas y los ejercicios se asemejan a los problemas del mundo real. No tendrá que descargar nada; todo se hace en su navegador. Este curso le proporciona todos los conocimientos de JOIN necesarios para manejar el conjunto de datos. Concluye con un módulo diseñado para consolidar sus conocimientos. Específicamente, este curso le enseña a:

  • JOIN de datos de más de una tabla.
  • JOIN de varias tablas en una sola consulta.
  • Unir una tabla consigo misma.
  • Unir tablas en columnas no clave.
  • Comprender los casos de uso de LEFT JOIN, RIGHT JOIN, FULL JOIN, y los JOINs no equitativos.
  • Filtrar datos con diferentes tipos de JOINs.

Consejos adicionales para el aprendizaje Tipos de JOIN en SQL

Encontré muy útil comenzar con dos tablas. Las uní utilizando diferentes tipos de join, una a la vez, y comparé cada resultado con mis resultados esperados. Para este ejercicio, es mejor utilizar un conjunto de datos más pequeño: es más fácil visualizar las diferencias y entender realmente lo que sucede "bajo el capó". También es posible que desee ver un Diagrama de Entidad-Relación (ERD) o un diagrama de esquema de BD que describa todas las relaciones de las tablas. Esto puede ayudarte a visualizar cómo unir las tablas en tus consultas SQL.

Cuando practique Tipos de JOIN en SQL, intente pensar en términos del tamaño de las tablas con las que está trabajando. Desde una perspectiva de rendimiento computacional, cuando usted está uniendo dos tablas, es importante considerar el orden de las tablas en el JOIN. Si observa que una de las tablas es considerablemente más grande que la otra, es posible que desee reescribir su consulta para que la tabla más grande se coloque en último lugar.

¡Usted puede aprender Tipos de JOIN en SQL!

Si piensa que las sentencias SQL JOIN están fuera de su alcance, ¡piénselo de nuevo!

Aunque la sentencia JOIN se percibe a menudo como complicada, es una técnica poderosa que ahorra tiempo. Las sentencias JOIN pueden parecer desalentadoras al principio, pero las dominará. Con los materiales de aprendizaje y práctica adecuados, incluso se encontrará dominando Tipos de JOIN en SQL. Estoy seguro de que las estrategias de aprendizaje y los recursos comentados anteriormente le ayudarán. Una vez que domine SQL para principiantes y los cursos JOINs, podrá maniobrar con elegancia incluso en las bases de datos más complejas.