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).