Se une en SQL | Tipos de combinaciones en SQL

Contenidos

Introducción

SQL Joins puede ser un concepto complicado de dominar para principiantes. Si no ha estudiado programación antes, es posible que tenga dificultades para entender qué combinaciones están en SQL y los diferentes tipos de uniones.

Pero como aspirante o profesional de la ciencia de datos, debe tener un conocimiento sólido de lo que son las uniones SQL y cómo funcionan. Créame, lo usará mucho si la industria de la ciencia de datos recupera y manipula rápidamente los datos presentes en diferentes tablas.

join-sql-4406020

En este artículo, mostraré que las uniones SQL son realmente fáciles de aprender. Primero entenderemos qué son las uniones SQL y luego veremos los cuatro tipos diferentes de uniones que necesitará dominar.

¿Quiere aprender los conceptos básicos de lo que es SQL y cómo se puede aplicar en la ciencia de datos? Mira el curso popular SQL para ciencia de datos.

¿Qué son las uniones SQL?

Primero respondamos la pregunta del millón de dólares antes de ver los diferentes tipos de combinaciones en SQL.

Tomaré un ejemplo intuitivo para explicar qué son las uniones SQL. Considere estas dos colecciones:

1-5-300x153-2674159

Digamos que el círculo azul representa el conjunto de todos los niños (NIÑOS) y el gris representa el conjunto de personas que aman ver jugar a Messi (MESSI). ¿Cómo procedería si quisiéramos el conjunto de todos los chicos a los que les encanta ver jugar a Messi?

Hay una forma muy procedimental de abordar este problema:

  • Primero, seleccione todos los identificadores distintos de la tabla de Messi que representan la consulta interna a continuación
  • Toma cada identificación de la tabla Boys y compárala con este conjunto.
  • Si la identificación coincide con cualquiera de ellos, entonces genere esa fila de la tabla Boys

Esto es bastante similar al concepto de ‘bucle for’ y se denomina sub-selección en SQL.

SELECT * FROM BOYS
WHERE id IS IN (SELECT DISTINCT id FROM MESSI);

Pero en SQL, hay otra forma de abordar este problema.

Para comenzar a comprender las combinaciones, primero debemos tener una perspectiva diferente sobre lo que realmente queremos. En terminología establecida: queremos el intersección de BOYS y MESSI. En términos gráficos, esto se expresa como:

img1-300x193-8693146

Estamos interesados ​​en la parte celeste, ¿verdad? Esta parte, o la interno parte (pista), son todos los chicos que aman ver a Messi. Todo lo que tenemos que hacer ahora es expresar esto en SQL:

SELECT * FROM BOYS
INNER JOIN MESSI
ON BOYS.id = MESSI.id;

Mira lo que el (interno) unirse hace? ¡No podría ser más sencillo! Este es el enfoque intuitivo sobre cómo entender las combinaciones.

Nota: Los diagramas de Venn no se aplican directamente a SQL porque los elementos de las colecciones (las tablas) no son idénticos. Pero debido a que se refieren entre sí, podemos usar los diagramas de Venn para comprender mejor el concepto.

Diferentes tipos de combinaciones en SQL

Ahora. Extenderemos esto al panorama general y aprenderemos sobre los diferentes tipos de uniones SQL. Considere las siguientes tablas de muestra:

selection_162-2674429

1. INNER JOIN en SQL

Esto es lo que cubrimos en la sección anterior. Inner Join devuelve registros que tienen valores coincidentes en ambas tablas:

inner-300x237-1785551

Veamos cuál es la salida usando el ejemplo anterior:

SELECT * FROM BOYS INNER JOIN MESSI
ON BOYS.id = MESSI.id;

PRODUCCIÓN:

selection_163-4866670

Como mencioné anteriormente, la combinación interna da la intersección de dos tablas, es decir, filas que son comunes en ambas tablas.

2. UNIÓN DERECHA (externa) en SQL

Supongamos que queremos la identificación y el nombre de todas las personas a las que les encanta ver jugar a Messi. Obviamente, hay muchas formas de escribir esta consulta, pero lo entenderemos con la ayuda de uniones.
right-300x221-6808244

Veamos cuál es la salida:

SELECT  *  FROM BOYS RIGHT JOIN MESSI 
ON BOYS.id = MESSI.id;

PRODUCCIÓN:

selection_164-6575760

¿Puedes averiguar qué pasó aquí? La unión externa derecha nos da las filas que son comunes en ambas tablas, así como filas adicionales de la tabla de Messi que no están presentes en la intersección. En otras palabras, una combinación derecha devuelve todos los registros de la tabla derecha y los registros coincidentes de la tabla izquierda.

3. LEFT (Outer) JOIN en SQL

Digamos que queremos la lista de todos los chicos a los que les encanta ver jugar a Messi y no les encanta ver a Messi jugar usando joins.

left-300x212-7384950

Quiero que adivines el resultado final antes de seguir leyendo.

SELECT FROM BOYS LEFT JOIN MESSI
ON BOYS.id = MESSI.id;

PRODUCCIÓN:

selection_165-1571438

La combinación externa izquierda nos da las filas que son comunes en ambas tablas, así como filas adicionales de la tabla Boys que no están presentes en la intersección. En otras palabras, una combinación izquierda devuelve todos los registros de la tabla izquierda y los registros coincidentes de la tabla derecha.

4. Unión completa (EXTERIOR) en SQL

Por último, digamos que queremos la lista de todas las personas, incluidos los niños a los que les encanta ver jugar a Messi.

full-300x202-3724756

¡Estoy seguro de que ya conoces la respuesta a estas alturas!

SELECT FROM BOYS FULL OUTER JOIN MESSI
ON BOYS.id = MESSI.id;

PRODUCCIÓN:

selection_166-8467922

¡Perfecto! Una combinación externa completa nos da las filas que son comunes en ambas tablas, así como filas adicionales de ambas tablas que no están presentes en la intersección. Obtenemos todos los registros cuando hay una coincidencia en la tabla izquierda o derecha.

Notas finales

¿Quiere aprender cómo se puede utilizar SQL en la ciencia de datos? Recomiendo encarecidamente echar un vistazo a este increíble curso: Lenguaje de consulta estructurado (SQL) para ciencia de datos.

Si tiene alguna pregunta o comentario sobre este artículo, hágamelo saber en la sección de comentarios a continuación y estaré encantado de conectarme con usted.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.