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.
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:
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.
SELECTEl comando "SELECT" es fundamental en SQL, utilizado para consultar y recuperar datos de una base de datos. Permite especificar columnas y tablas, filtrando resultados mediante cláusulas como "WHERE" y ordenando con "ORDER BY". Su versatilidad lo convierte en una herramienta esencial para la manipulación y análisis de datos, facilitando la obtención de información específica de manera eficiente.... * FROM BOYS WHERE"WHERE" es un término en inglés que se traduce como "dónde" en español. Se utiliza para hacer preguntas sobre la ubicación de personas, objetos o eventos. En contextos gramaticales, puede funcionar como adverbio de lugar y es fundamental en la formación de preguntas. Su correcta aplicación es esencial en la comunicación cotidiana y en la enseñanza de idiomas, facilitando la comprensión y el intercambio de información sobre posiciones y direcciones.... id IS IN (SELECT DISTINCTLa palabra "DISTINCT" en inglés se traduce al español como "distinto" o "diferente". En el ámbito de la programación y las bases de datos, especialmente en SQL, se utiliza para eliminar duplicados en los resultados de consultas. Al aplicar la cláusula DISTINCT, se obtienen solo los valores únicos de un conjunto de datos, lo que facilita el análisis y la presentación de información relevante y no redundante.... 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:
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"JOIN" es una operación fundamental en bases de datos que permite combinar registros de dos o más tablas basándose en una relación lógica entre ellas. Existen diferentes tipos de JOIN, como INNER JOIN, LEFT JOIN y RIGHT JOIN, cada uno con sus propias características y usos. Esta técnica es esencial para realizar consultas complejas y obtener información más relevante y detallada a partir de múltiples fuentes de datos.... 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:
1. INNER JOIN en SQL
Esto es lo que cubrimos en la sección anterior. Inner JoinUn "Inner Join" es una operación en bases de datos que permite combinar filas de dos o más tablas, basándose en una condición de coincidencia específica. Este tipo de unión solo devuelve las filas que tienen correspondencias en ambas tablas, lo que resulta en un conjunto de resultados que refleja únicamente los datos relacionados. Es fundamental en consultas SQL para obtener información cohesiva y precisa de múltiples fuentes de datos.... devuelve registros que tienen valores coincidentes en ambas tablas:
Veamos cuál es la salida usando el ejemplo anterior:
SELECT * FROM BOYS INNER JOIN MESSI ON BOYS.id = MESSI.id;
PRODUCCIÓN:
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.
Veamos cuál es la salida:
SELECT * FROM BOYS RIGHT JOIN MESSI ON BOYS.id = MESSI.id;
PRODUCCIÓN:
¿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.
Quiero que adivines el resultado final antes de seguir leyendo.
SELECT * FROM BOYS LEFT JOIN MESSI ON BOYS.id = MESSI.id;
PRODUCCIÓN:
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.
¡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:
¡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.