"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Inner Join vs. Outer Join: ¿Cuál es la diferencia y cuándo debo usar cada uno?

Inner Join vs. Outer Join: ¿Cuál es la diferencia y cuándo debo usar cada uno?

Publicado el 2025-03-23
Navegar:544

INNER JOIN vs. OUTER JOIN: What's the Difference and When Should I Use Each?

Conexión de la base de datos: Comparación entre unión interna y unión exterior

En las operaciones de la base de datos, las operaciones de conexión son la clave para combinar múltiples datos de tabla. La unión interna y la unión externa son dos tipos de conexión básicos. Este artículo explorará sus diferencias clave y aplicaciones prácticas.

Inner Join: Intersection

Unión interna Seleccione aquellas filas que tienen valores coincidentes en dos o más columnas en diferentes tablas. Conceptualmente, obtiene la intersección de dos conjuntos, representados por las partes superpuestas del diagrama de Venn. Solo las filas que existen en ambas tablas se incluyen en la salida.

Outer Join: union

A diferencia de la unión interna, la unión externa contiene todas las filas en la tabla especificada, independientemente de si tienen coincidencias en otras tablas. Esta operación crea efectivamente una unión, representada por un área combinada del diagrama de Venn.

outer Join tipo

La unión exterior se divide en tres tipos:

  • ida externa izquierda: obtiene todas las filas de la tabla izquierda y cualquier fila coincidente en la tabla derecha. Las filas en la tabla derecha que no tienen coincidencias en la tabla izquierda contendrán valores nulos.
  • Right Outer Join: Similar a la unión externa izquierda, pero obtiene todas las filas de la mesa derecha y las filas coincidentes en la mesa izquierda.
  • Full Outer Join: Combine todas las filas de dos tablas y complete las coincidencias faltantes con valores nulos.

Ejemplo práctico

Considere la siguiente tabla que contiene el cliente y sus datos de pedido:

cliente (id, nombre)
Pedidos (id, customer_id, producto)

Inner Join:

SELECT *
FROM customer
INNER JOIN orders ON customer.id = orders.customer_id;

Esta consulta solo devolverá a los clientes que han realizado el pedido.

izquierda externa unión:

SELECT *
FROM customer
LEFT OUTER JOIN orders ON customer.id = orders.customer_id;

Esta consulta devolverá a todos los clientes, incluidos aquellos sin pedidos, y la información del pedido será de valor nulo.

Right Outer Join:

SELECT *
FROM customer
RIGHT OUTER JOIN orders ON customer.id = orders.customer_id;

Esta consulta devolverá todos los pedidos, incluidos los pedidos realizados por los clientes que no existen en la tabla del cliente, y la información del cliente será un valor nulo.

Full Outer Join:

SELECT *
FROM customer
FULL OUTER JOIN orders ON customer.id = orders.customer_id;

Esta consulta devolverá a todos los clientes y todos los pedidos, completando las coincidencias faltantes con valores nulos.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3