Junior — Middle
Explique las diferencias entre una unión interna y una unión externa en SQL.
sobes.tech AI
Respuesta de la IA
En SQL, las uniones internas (INNER JOIN) y externas (OUTER JOIN) se utilizan para combinar filas de dos tablas, pero difieren en la forma en que seleccionan las filas:
-
Inner join (INNER JOIN) devuelve solo las filas que tienen coincidencias en ambas tablas según la condición de unión.
-
Outer join (OUTER JOIN) devuelve todas las filas de una tabla y las filas correspondientes de la otra. Si no hay coincidencias, los lugares sin datos serán NULL.
Los joins externos tienen tres tipos:
- LEFT OUTER JOIN — todas las filas de la tabla izquierda + las coincidentes de la derecha
- RIGHT OUTER JOIN — todas las filas de la tabla derecha + las coincidentes de la izquierda
- FULL OUTER JOIN — todas las filas de ambas tablas, con NULL donde no hay coincidencias
Ejemplo:
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;
-- Solo devolverá usuarios con pedidos
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;
-- Devolverá todos los usuarios, incluso si no tienen pedidos (orders serán NULL)