Introducción a JOINS

¿Por qué son importantes los JOINS?

  • Permiten combinar información de varias tablas.

  • Evitan redundancia de datos.

  • Facilitan el análisis y la generación de reportes.

  • Sencillo de ejecutar. (Una vez que se comprende 😅)

INNER JOIN

  • Devuelve solo las filas que tienen coincidencias en ambas tablas.

  • Es el JOIN más utilizado.

SELECT
	clientes.id
	clientes.nombre,
    ordenes.direccion
FROM clientes AS clientes
INNER JOIN ordenes AS ordenes
ON clientes.id = ordenes.cliente_id;

LEFT JOIN

  • Devuelve todas las filas de la tabla de la izquierda y solo las coincidencias de la tabla de la derecha.

  • Si no hay coincidencia, muestra NULL en los valores de la tabla derecha.

SELECT
	clientes.id
	clientes.nombre,
    ordenes.direccion
FROM clientes AS clientes
LEFT JOIN ordenes AS ordenes
ON clientes.id = ordenes.cliente_id;

RIGHT JOIN

  • Similar al LEFT JOIN, pero devuelve todas las filas de la tabla derecha y las coincidencias de la izquierda.

SELECT
	clientes.id
	clientes.nombre,
    ordenes.direccion
FROM clientes AS clientes
RIGHT JOIN ordenes AS ordenes
ON clientes.id = ordenes.cliente_id;

FULL JOIN

  • Devuelve todas las filas cuando hay coincidencia en cualquiera de las dos tablas.

  • Si no hay coincidencia, devuelve NULL en la tabla que no tiene datos.

SELECT
	clientes.id
	clientes.nombre,
    ordenes.direccion
FROM clientes AS clientes
FULL JOIN ordenes AS ordenes
ON clientes.id = ordenes.cliente_id;

Optimización de Joins

Usar claves correctamente: Asegurar que las columnas en la condición ON sean índices o claves primarias.

Evitar FULL JOIN innecesarios: Generan muchos datos y pueden ser lentos.

Usar WHERE para filtrar datos antes del JOIN: Ayuda a reducir el número de filas combinadas.

Utilizar INNER JOIN si es posible: Es más eficiente que LEFT o FULL JOIN.

Joins & windows function

By Nicolás S. Navarro

Joins & windows function

  • 171