sql >> Base de Datos >  >> RDS >> Database

Diferencia entre unión interna y unión externa en SQL

La unión interna y la unión externa son dos formas útiles de unir tablas de bases de datos y consultar datos de varias tablas. En este artículo, veremos la diferencia entre la unión interna y la unión externa en SQL.


Unión interna

La combinación interna devuelve filas de dos o más tablas donde al menos una columna tiene el mismo valor en todas las tablas. Si no hay valores comunes, no se devuelven filas.

Esta es la sintaxis de la unión interna:

select *  from table1 INNER JOIN table2 
on table1.column_name = table2.column_name;

OR

select * from table1 JOIN table2 
on table1.column_name = table2.column_name;


Unión exterior

La unión externa devuelve filas de dos o más tablas en las que al menos una columna tiene un valor común, así como filas en las que falla la condición de unión. Hay 3 tipos de combinaciones externas:


Unión exterior izquierda

En este caso, todas las filas de la tabla de la izquierda se conservan en el resultado, en caso de que sus condiciones de unión coincidan con otras tablas, se devuelven los valores de sus columnas; de lo contrario, se devuelven valores nulos para esas columnas. Esta es la sintaxis de la combinación externa izquierda.

select * from table1 
LEFT OUTER JOIN table2 
on table1.column_name = table2.column_name;


Unión exterior derecha

En este caso, todas las filas de la tabla de la derecha se conservan en el resultado, en caso de que sus condiciones de unión coincidan con otras tablas, se devuelven los valores de sus columnas; de lo contrario, se devuelven valores nulos para esas columnas.

Esta es la sintaxis de la unión externa derecha

select * from table1 
RIGHT OUTER JOIN table2 
on table1.column_name = table2.column_name;


Unión externa completa

En este caso, se devuelven todas las filas de ambas tablas. Si se cumple la condición de combinación, las columnas se rellenan con valores de ambas tablas. Si la condición de combinación falla, los valores de una de las tablas se completan en columnas y el resto se completa como valores nulos.


Diferencia entre unión interna y unión externa en SQL

Estas son las diferencias clave entre la unión interna y la unión externa.

Unión interna

  • Solo devuelve filas con valores de columna comunes.
  • Puede usar la cláusula INNER JOIN o JOIN. Ambos tienen el mismo efecto
  • Devuelve nulo cuando no hay valores de columna coincidentes entre dos (o más) tablas
  • Inner Join es más rápido que Outer Join
  • Es útil para realizar búsquedas en varias tablas
  • En términos matemáticos, devuelve la intersección de dos conjuntos (tablas)


Unión exterior

  • Devuelve valores de una o más tablas incluso si no hay valores de columna coincidentes
  • Para filas sin atributos coincidentes, devuelve nulo para las columnas restantes
  • La combinación externa completa y la combinación completa tienen el mismo efecto.
  • Es más lento que la combinación interna
  • Se utiliza para obtener información completa en dos o más tablas
  • La combinación externa completa no es compatible con MySQL. Está disponible en PostgreSQL, SQL Server, Oracle y otras bases de datos populares.


¿Necesita una herramienta de informes para MySQL? Ubiq facilita la visualización de datos en minutos y el monitoreo en paneles en tiempo real. ¡Pruébalo hoy!