Unión en SQL

Fiabilidad

¿Qué significa unión en SQL?

Una unión es una operación SQL que se realiza para establecer una conexión entre dos o más tablas de base de datos basada en columnas coincidentes, creando así una relación entre las tablas. La mayoría de las consultas complejas en un sistema de gestión de bases de datos SQL implican comandos join.

Existen distintos tipos de join. El tipo de join que utiliza un programador determina qué registros selecciona la consulta. Detrás de las operaciones de join hay tres algoritmos: hash join, sort-merge join y nested loop join.

Diccionario Techopedia: Unión

El tipo de join o unión por defecto es el join interno. Una unión interna selecciona registros de dos tablas que contienen valores coincidentes. Los registros que no contienen valores coincidentes o comunes se excluyen del resultado. La consulta compara cada fila de la primera tabla con las filas de la segunda tabla para encontrar filas que satisfagan el predicado de la unión.

Por ejemplo, si una tabla contiene información sobre los empleados y otra sobre los directivos, se puede realizar una combinación de las tablas de empleados y directivos para mostrar los empleados que también son directivos. La siguiente consulta muestra los empleados que son directivos:

SELECT * FROM Empleado INNER JOIN Gerente ON Empleado.Managerid = Gerente.Managerid

Una unión siempre se realiza en columnas coincidentes, que se especifican en la cláusula “ON” de la consulta. La columna coincidente en este ejemplo es “Managerid”. Dado que se utiliza el operador “=”, se denomina equijoin.

Una unión natural también produce el mismo resultado, pero utiliza la palabra clave “USING” en la cláusula de unión. La consulta anterior puede modificarse como sigue para indicar una unión natural:

SELECT empleado, manager FROM Empleado INNER JOIN Manager USING (Managerid)

Aunque no se especifique una columna coincidente, se realiza una unión entre dos tablas. Este tipo de unión se conoce como unión cruzada (a veces denominada producto cartesiano), que es la forma más sencilla de unión. Como no se especifica una restricción sobre la clave, todas las filas de la primera tabla se unen con todas las filas de la segunda tabla. Si la primera tabla tiene dos filas y la segunda tiene tres filas, la salida tendrá seis filas.

La unión externa es otro tipo de unión importante. Las uniones externas, en general, toman como salida todos los registros de una tabla y los registros coincidentes de la otra tabla. Una unión externa puede ser externa izquierda o externa derecha. En un outer join izquierdo, todas las tablas de la tabla izquierda – incluso si no satisfacen las condiciones de coincidencia – y las filas coincidentes de la tabla derecha se muestran en la salida. En una unión externa derecha, se muestran como salida todas las filas de la tabla derecha y las filas coincidentes de la tabla izquierda.

En raras ocasiones, una tabla puede unirse a sí misma. Esto se denomina autounión.

Temas relacionados

Margaret Rouse
Technology expert
Margaret Rouse
Experta en tecnología

Margaret Rouse es una galardonada escritora técnica y profesora conocida por su habilidad para explicar temas técnicos complejos a una audiencia de negocios no técnica. Durante los últimos veinte años, sus explicaciones han aparecido en sitios web de TechTarget y ha sido citada como autoridad en artículos del New York Times, Time Magazine, USA Today, ZDNet, PC Magazine y Discovery Magazine. La idea de diversión de Margaret es ayudar a profesionales de TI y negocios a aprender a hablar los idiomas altamente especializados de cada uno. Si tienes una sugerencia para una nueva definición o cómo mejorar una explicación técnica,…