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 😅)
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;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;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;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;✅ 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.