Sobes.tech
Junior — Middle

¿Puede explicar las diferencias entre una unión interna y una unión izquierda en SQL?

sobes.tech AI

Respuesta de la IA

Conexión interna (INNER JOIN) devuelve solo las filas que tienen coincidencias en ambas tablas según la condición de unión. Si en una de las tablas no hay un registro correspondiente, esa fila no aparecerá en el resultado.

Conexión izquierda (LEFT JOIN) devuelve todas las filas de la tabla izquierda y las filas correspondientes de la tabla derecha. Si no hay coincidencia para una fila de la tabla izquierda, en el resultado aparecerán los valores de la tabla izquierda y NULL para la derecha.

Ejemplo:

SELECT a.id, a.name, b.order_id
FROM customers a
INNER JOIN orders b ON a.id = b.customer_id;

Esto devolverá solo los clientes que tienen pedidos.

SELECT a.id, a.name, b.order_id
FROM customers a
LEFT JOIN orders b ON a.id = b.customer_id;

Esto devolverá todos los clientes, incluyendo aquellos sin pedidos (en cuyo caso order_id será NULL).