Cualquier DBS moderno, como MariaDB , implementa un comando UNION JOIN. Este es un comando SQL & nbsp; 3 , pero no es muy conocido o usado. Obtenga más información sobre UNION JOIN .
Auston el
Respuestas:
301
UNIONcoloca líneas de consultas una tras otra, mientras JOINcrea un producto cartesiano y lo subconjusta, operaciones completamente diferentes. Ejemplo trivial de UNION:
¿Puede decirme qué es un UNION-JOINy cómo puedo lograrlo en SQL estándar? Maria DB tiene un comando union join, pero otras bases de datos no. Gracias.
Erran Morad
73
Las uniones y uniones se pueden usar para combinar datos de una o más tablas. La diferencia radica en cómo se combinan los datos.
En términos simples, las combinaciones combinan datos en nuevas columnas . Si dos tablas se unen, los datos de la primera tabla se muestran en un conjunto de columnas junto a la columna de la segunda tabla en la misma fila.
Los sindicatos combinan datos en nuevas filas. Si dos tablas están "unidas" juntas, entonces los datos de la primera tabla están en un conjunto de filas, y los datos de la segunda tabla en otro conjunto. Las filas están en el mismo resultado.
Aquí hay una representación visual de una unión. Las columnas de la tabla A y B se combinan en un solo resultado.
Cada fila del resultado contiene columnas de AMBAS tablas A y B. Las filas se crean cuando las columnas de una tabla coinciden con las columnas de otra. Esta coincidencia se llama condición de unión.
Esto hace que las uniones sean realmente geniales para buscar valores e incluirlos en los resultados. Esto suele ser el resultado de la desnormalización (inversión de la normalización) e implica el uso de la clave externa en una tabla para buscar valores de columna mediante el uso de la clave primaria en otra.
Ahora compare la descripción anterior con la de una unión. En una unión, cada fila dentro del resultado es de una tabla O de la otra. En una unión, las columnas no se combinan para crear resultados, las filas se combinan.
Tanto las uniones como las uniones se pueden usar para combinar datos de una o más tablas en un solo resultado. Ambos se ocupan de esto es de diferentes maneras. Mientras que una combinación se usa para combinar columnas de diferentes tablas, la unión se usa para combinar filas.
Este es un ejemplo visual impresionante. Estaba bastante seguro de haber entendido después de las otras respuestas, pero esto lo aclaró por completo.
seadoggie01
Para el ejemplo de unión, técnicamente hablando, ¿no debería haber como 10 columnas para el resultado?
Bharath Ram
60
UNION combina los resultados de dos o más consultas en un único conjunto de resultados que incluye todas las filas que pertenecen a todas las consultas en la unión.
Al utilizar JOIN , puede recuperar datos de dos o más tablas en función de las relaciones lógicas entre las tablas. Las combinaciones indican cómo SQL debe usar los datos de una tabla para seleccionar las filas en otra tabla.
La operación UNION es diferente de usar JOIN que combinan columnas de dos tablas.
Estas imágenes implican que FULL OUTER JOINes lo mismo UNION, que tienen diferencias
icc97
1
Esta respuesta señala que esas imágenes son confusas (qué IMO son), pero luego no explican por qué ni ofrecen ninguna aclaración sobre la pregunta original.
Josh D.
1
Cada imagen con diagramas explica perfectamente la situación. No hay una sola imagen que pueda fusionar todos los diagramas. Eso será más confuso.
Java Main
41
UNIRSE:
Una combinación se utiliza para mostrar columnas con los mismos o diferentes nombres de diferentes tablas. La salida mostrada tendrá todas las columnas mostradas individualmente. Es decir, las columnas se alinearán una al lado de la otra.
UNIÓN:
El operador de conjunto UNION se utiliza para combinar datos de dos tablas que tienen columnas con el mismo tipo de datos. Cuando se realiza una UNIÓN, los datos de ambas tablas se recopilarán en una sola columna que tenga el mismo tipo de datos.
Por ejemplo:
Vea las dos tablas que se muestran a continuación:
Ahora, para realizar un tipo JOIN, la consulta se muestra a continuación.
SELECT articleno, article, manufacturer
FROM t1 JOIN t2 ON(t1.manufacturer_id =
t2.manufacturer_id);
articelno article manufacturer
1 hammer ABC GmbH
2 screwdriver DEF Co KG
Eso es una unión.
UNION significa que debe crear tablas o conjuntos de resultados con la misma cantidad y tipo de columnas y agregar esto a las tablas / conjuntos de resultados juntos. Mira este ejemplo:
Las uniones y uniones se pueden usar para combinar datos de una o más tablas. La diferencia radica en cómo se combinan los datos.
En términos simples, las combinaciones combinan datos en nuevas columnas. Si dos tablas se unen, los datos de la primera tabla se muestran en un conjunto de columnas junto a la columna de la segunda tabla en la misma fila.
Los sindicatos combinan datos en nuevas filas. Si dos tablas están "unidas" juntas, entonces los datos de la primera tabla están en un conjunto de filas, y los datos de la segunda tabla en otro conjunto. Las filas están en el mismo resultado.
1. La cláusula SQL Joins se usa para combinar registros de dos o más tablas en una base de datos. Unir es un medio para combinar campos de dos tablas mediante el uso de valores comunes a cada uno.
2. El operador SQL UNION combina el resultado de dos o más instrucciones SELECT. Cada instrucción SELECT dentro de UNION debe tener el mismo número de columnas. Las columnas también deben tener tipos de datos similares. Además, las columnas en cada instrucción SELECT deben estar en el mismo orden.
por ejemplo: tabla 1 clientes / tabla 2 pedidos
unir internamente:
SELECCIONE ID, NOMBRE, CANTIDAD, FECHA
DE CLIENTES
ÓRDENES INTERIORES
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
Unión:
SELECCIONE ID, NOMBRE, CANTIDAD, FECHA
DE CLIENTES
IZQUIERDA UNIR PEDIDOS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID
UNIÓN
SELECCIONE ID, NOMBRE, CANTIDAD, FECHA DE CLIENTES
UNION combina los resultados de dos o más consultas en un único conjunto de resultados que incluye todas las filas que pertenecen a todas las consultas en la unión.
Ejemplo de UNION:
SELECCIONE 121 AS [Columna1], 221 AS [Columna2]
UNIÓN
SELECCIONE 321 AS [Columna1], 422 AS [Columna2]
En resumen, son similares, ya que se combinan dos tablas o conjuntos de resultados, pero UNION es realmente para combinar conjuntos de resultados con el MISMO NÚMERO DE COLUMNAS con las COLUMNAS QUE TIENEN TIPOS DE DATOS SIMILARES. La ESTRUCTURA es la misma, solo se agregan nuevas filas.
En las combinaciones, puede combinar tablas / conjuntos de resultados con cualquier estructura posible, incluida una combinación cartesiana donde NO hay columnas compartidas / similares.
La operación de unión es el resultado combinado del agregado vertical de las filas, la operación de unión es el resultado combinado del agregado horizontal de las columnas.
Esto plantea la pregunta: la unión se menciona en términos de "unión" y la unión se menciona en términos de "combinaciones" inexplicables. De todos modos, ¿qué crees que estarías agregando más allá de otras respuestas de 10 años altamente votadas que hacen que esto sea "útil"? (Retórica). Vea la flecha de votación al pasar el mouse por el texto.
Respuestas:
UNION
coloca líneas de consultas una tras otra, mientrasJOIN
crea un producto cartesiano y lo subconjusta, operaciones completamente diferentes. Ejemplo trivial deUNION
:ejemplo trivial similar de
JOIN
:fuente
UNION-JOIN
y cómo puedo lograrlo en SQL estándar? Maria DB tiene un comandounion join
, pero otras bases de datos no. Gracias.Las uniones y uniones se pueden usar para combinar datos de una o más tablas. La diferencia radica en cómo se combinan los datos.
En términos simples, las combinaciones combinan datos en nuevas columnas . Si dos tablas se unen, los datos de la primera tabla se muestran en un conjunto de columnas junto a la columna de la segunda tabla en la misma fila.
Los sindicatos combinan datos en nuevas filas. Si dos tablas están "unidas" juntas, entonces los datos de la primera tabla están en un conjunto de filas, y los datos de la segunda tabla en otro conjunto. Las filas están en el mismo resultado.
Aquí hay una representación visual de una unión. Las columnas de la tabla A y B se combinan en un solo resultado.
Cada fila del resultado contiene columnas de AMBAS tablas A y B. Las filas se crean cuando las columnas de una tabla coinciden con las columnas de otra. Esta coincidencia se llama condición de unión.
Esto hace que las uniones sean realmente geniales para buscar valores e incluirlos en los resultados. Esto suele ser el resultado de la desnormalización (inversión de la normalización) e implica el uso de la clave externa en una tabla para buscar valores de columna mediante el uso de la clave primaria en otra.
Ahora compare la descripción anterior con la de una unión. En una unión, cada fila dentro del resultado es de una tabla O de la otra. En una unión, las columnas no se combinan para crear resultados, las filas se combinan.
Tanto las uniones como las uniones se pueden usar para combinar datos de una o más tablas en un solo resultado. Ambos se ocupan de esto es de diferentes maneras. Mientras que una combinación se usa para combinar columnas de diferentes tablas, la unión se usa para combinar filas.
Fuente
fuente
UNION combina los resultados de dos o más consultas en un único conjunto de resultados que incluye todas las filas que pertenecen a todas las consultas en la unión.
Al utilizar JOIN , puede recuperar datos de dos o más tablas en función de las relaciones lógicas entre las tablas. Las combinaciones indican cómo SQL debe usar los datos de una tabla para seleccionar las filas en otra tabla.
La operación UNION es diferente de usar JOIN que combinan columnas de dos tablas.
Ejemplo de UNION:
Salida:
ÚNASE Ejemplo:
Esto generará todas las filas de ambas tablas para las cuales la condición
a.Id = b.AFKId
es verdadera.fuente
Puede ver las mismas explicaciones esquemáticas para ambos, pero estas son totalmente confusas.
Para UNION:
Para unirse:
fuente
FULL OUTER JOIN
es lo mismoUNION
, que tienen diferenciasUNIRSE:
Una combinación se utiliza para mostrar columnas con los mismos o diferentes nombres de diferentes tablas. La salida mostrada tendrá todas las columnas mostradas individualmente. Es decir, las columnas se alinearán una al lado de la otra.
UNIÓN:
El operador de conjunto UNION se utiliza para combinar datos de dos tablas que tienen columnas con el mismo tipo de datos. Cuando se realiza una UNIÓN, los datos de ambas tablas se recopilarán en una sola columna que tenga el mismo tipo de datos.
Por ejemplo:
Vea las dos tablas que se muestran a continuación:
Ahora, para realizar un tipo JOIN, la consulta se muestra a continuación.
Eso es una unión.
UNION significa que debe crear tablas o conjuntos de resultados con la misma cantidad y tipo de columnas y agregar esto a las tablas / conjuntos de resultados juntos. Mira este ejemplo:
fuente
Son cosas completamente diferentes.
Una unión le permite relacionar datos similares en diferentes tablas.
Una unión devuelve los resultados de dos consultas diferentes como un único conjunto de registros.
fuente
Union hace que dos consultas se vean como una. Las uniones son para examinar dos o más tablas en una sola instrucción de consulta
fuente
Las uniones y uniones se pueden usar para combinar datos de una o más tablas. La diferencia radica en cómo se combinan los datos.
En términos simples, las combinaciones combinan datos en nuevas columnas. Si dos tablas se unen, los datos de la primera tabla se muestran en un conjunto de columnas junto a la columna de la segunda tabla en la misma fila.
Los sindicatos combinan datos en nuevas filas. Si dos tablas están "unidas" juntas, entonces los datos de la primera tabla están en un conjunto de filas, y los datos de la segunda tabla en otro conjunto. Las filas están en el mismo resultado.
fuente
Recuerde que la unión combinará resultados ( SQL Server para estar seguro) (¿característica o error?)
id, valor
1,3
id, valor, id, valor
1,3,1,3
fuente
UNION
vsUNION ALL
stackoverflow.com/questions/49925/…1. La cláusula SQL Joins se usa para combinar registros de dos o más tablas en una base de datos. Unir es un medio para combinar campos de dos tablas mediante el uso de valores comunes a cada uno.
2. El operador SQL UNION combina el resultado de dos o más instrucciones SELECT. Cada instrucción SELECT dentro de UNION debe tener el mismo número de columnas. Las columnas también deben tener tipos de datos similares. Además, las columnas en cada instrucción SELECT deben estar en el mismo orden.
por ejemplo: tabla 1 clientes / tabla 2 pedidos
unir internamente:
SELECCIONE ID, NOMBRE, CANTIDAD, FECHA
DE CLIENTES
ÓRDENES INTERIORES
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
Unión:
SELECCIONE ID, NOMBRE, CANTIDAD, FECHA
DE CLIENTES
IZQUIERDA UNIR PEDIDOS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID
UNIÓN
SELECCIONE ID, NOMBRE, CANTIDAD, FECHA DE CLIENTES
DERECHO UNIR PEDIDOS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
fuente
Usando UNION
UNION combina los resultados de dos o más consultas en un único conjunto de resultados que incluye todas las filas que pertenecen a todas las consultas en la unión.
Utilizando JOINs
JOINs, puede recuperar datos de dos o más tablas en función de las relaciones lógicas entre las tablas.
fuente
En resumen, son similares, ya que se combinan dos tablas o conjuntos de resultados, pero UNION es realmente para combinar conjuntos de resultados con el MISMO NÚMERO DE COLUMNAS con las COLUMNAS QUE TIENEN TIPOS DE DATOS SIMILARES. La ESTRUCTURA es la misma, solo se agregan nuevas filas.
En las combinaciones, puede combinar tablas / conjuntos de resultados con cualquier estructura posible, incluida una combinación cartesiana donde NO hay columnas compartidas / similares.
fuente
El operador UNION es solo para combinar dos o más instrucciones SELECT.
Mientras JOIN es para seleccionar filas de cada tabla, ya sea por el método interno, externo, izquierdo o derecho.
Consulte aquí y aquí . Hay una mejor explicación con ejemplos.
fuente
La operación de unión es el resultado combinado del agregado vertical de las filas, la operación de unión es el resultado combinado del agregado horizontal de las columnas.
fuente
Me gusta pensar que la diferencia general es:
fuente