Cómo usar Left Join para conectar tablas relacionales
Clase 23 de 24 • Curso de Fundamentos de Bases de Datos
Resumen
El Left Join es esencial en las bases de datos relacionales para vincular información de varias tablas sin duplicar datos, siguiendo principios importantes como la normalización. Aprender a aplicar correctamente este tipo de unión permite gestionar información efectivamente, evitar redundancias y facilitar auditorías de datos como cálculo de inventarios o validación de registros.
¿Qué es la normalización y cómo optimiza la base de datos?
La normalización ayuda a evitar duplicar información escribiéndola solo una vez. Si un producto pertenece a una marca específica, esa marca solo debe existir en una tabla separada para luego relacionarse con otros datos mediante identificadores únicos. Esto evita que la misma información, como el nombre de una marca, se repita innecesariamente en distintas tablas.
¿Cómo funciona específicamente el Left Join en SQL?
El Left Join conecta tablas al traer toda la información de una tabla izquierda, combinada con los registros correspondientes de una tabla derecha. Este ejemplo, por su brevedad, refleja su aplicación directa:
SELECT i.investment, p.name, p.price
FROM investment AS i
LEFT JOIN products AS p ON i.productID = p.productID
WHERE investment > 100000;
En este caso, se obtienen inversiones superiores a un valor específico desde la tabla "investment" y se combinan con nombres y precios desde la tabla "products".
¿Por qué utilizar alias en tablas y columnas?
Utilizar alias simplifica la escritura y comprensión del código SQL, especialmente en consultas complejas que involucran varias tablas. Por ejemplo, "investment" se denomina "i" y "products" se denomina "p", facilitando la referencia a columnas específicas en uniones y cálculos posteriores.
¿Cómo auditar o validar datos usando Left Join?
Una técnica útil mostrada consiste en verificar congruencia de datos mediante cálculos directos en la consulta. Por ejemplo:
SELECT
i.investment,
p.stock,
ROUND(i.investment / p.price) AS inventario_calculado,
IF(ROUND(i.investment / p.price) = p.stock, 'Perfecto', 'Error') AS status
FROM investment i
LEFT JOIN products p ON i.productID = p.productID;
Esto permite confirmar rápidamente si los datos del inventario coinciden con las cifras calculadas desde la inversión y precio.
¿Es posible hacer join entre múltiples tablas?
Una gran ventaja del join en SQL es la posibilidad de unir múltiples tablas en una única consulta, siempre y cuando existan llaves adecuadas para establecer dichas relaciones. La clave está en hacerlo ordenadamente, cada tabla agregada requerirá ser claramente identificada en el código.
Aprender a utilizar el Left Join es clave no solo para el manejo diario de información sino también para asegurar una correcta auditoría y validaciones internas en cualquier proyecto de gestión de bases de datos. ¿Tienes alguna duda sobre cómo aplicar estas técnicas en tu base de datos? Escríbenos en los comentarios.