Explicación gráfica de los Join en SQL y sus resultados

El manejo del lenguaje SQL es un conocimiento fundamental para todo programador moderno, ya que es la piedra angular sobre la que construiremos, sea cual sea el framework, el acceso y persistencia de nuestros datos (entre otras muchas cosas).

Y uno de los “misterios” que más cuesta en aprender es el funcionamiento de la sentencia JOIN, con sus calificadores situados antes y después del verbo.

Hoy quiero traer una de las cientos de imágenes que pululan en internet que muestran de forma gráfica el funcionamiento de todos los tipos de JOIN. Pero, además, lo voy a poner en práctica en una pequeñita base de datos para poder visualizar los resultados.

Configurando el entorno

Lo primero de todo es localizar la imagen que vamos a utilizar para mostrar visualmente, y de un vistazo, lo que realmente significa un LEFT JOIN a diferencia de un INNER JOIN. Para eso he buscado en internet y he escogido la que más me ha gustado, que está publicada en stackoverflow.

A continuación tengo montado en mi equipo un SQL Express 2014 y he dado de alta la siguiente base de datos con la tablas y campos que veis a continuación… el sumun de la complejidad.

Y le he introducido información falsa en el interior con la siguiente característica, falta un dato en la tabla fichas para un registro en la tabla personas. Es decir, hay una persona sin ficha.

Y ahora voy a lanzar los JOIN que aparecen en la representación visual y a ver qué resultados devuelve, empezando por la central y más comúnmente utilizada.

Ahora voy a continuar por la columna de la izquierda, pasando por las tres combinaciones principales.

Y continuo por la columna de la derecha, empezando por arriba hasta haber obtenido los resultados de las tres siguientes.

Espero que con esta imagen y las diferentes ejecuciones de las sentencias SQL, te quede más claro el funcionamiento de la sentencia JOIN que, como se puede observar, tiene un comportamiento basado en la teoría de los conjuntos.

En GenbetaDev | Todo sobre SQL

Ver todos los comentarios en https://www.genbeta.com

VER 0 Comentario

Portada de Genbeta