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