PostgreSQL Unión, Unión TODOS con ejemplos
⚡ Resumen inteligente
PostgreSQL UNION combina los resultados de dos o más sentencias SELECT en un único conjunto de resultados y elimina las filas duplicadas, mientras que UNION ALL conserva todas las filas, lo que proporciona una opción más rápida cuando los duplicados no importan.

¿Qué es PostgreSQL ¿Unión?
El PostgreSQL El operador UNION se utiliza para combinar conjuntos de resultados de más de una instrucción SELECT en un único conjunto de resultados. Se eliminan todas las filas duplicadas de los resultados de las instrucciones SELECT. El operador UNION funciona en dos condiciones:
- Las consultas SELECT deben devolver el mismo número de columnas.
- Los tipos de datos de todas las columnas correspondientes deben ser compatibles.
El operador UNION se utiliza normalmente para combinar datos de tablas relacionadas que no se han normalizado perfectamente.
Sintaxis
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Aquí hay una explicación para los parámetros anteriores:
La expresión_1, expresión_2,… expresión_n son los cálculos o columnas que necesita recuperar.
Las tablas son las tablas de las que necesita recuperar registros.
Las condiciones WHERE son las condiciones que deben cumplirse para que se recuperen los registros.
Nota: Dado que el operador UNION no devuelve duplicados, el uso de UNION DISTINCT no tendrá ningún impacto en los resultados.
PostgreSQL Union
El operador UNION elimina los duplicados, de la misma manera que SELECCIONAR DISTINTO Sí. Vamos a demostrarlo. Tenemos una base de datos llamada Demo con las siguientes tablas:
Libro:
Precio:
Ejecutemos el siguiente comando:
SELECT id FROM Book UNION SELECT id FROM Price;
El comando devolverá lo siguiente:
La columna id aparece tanto en la tabla Libro como en la tabla Precio. Sin embargo, aparece sólo una vez en el resultado. La razón es que PostgreSQL El operador UNION no devuelve duplicados.
PostgreSQL Union all
Este operador combina conjuntos de resultados de más de una instrucción SELECT sin eliminar los duplicados. El operador requiere que cada instrucción SELECT tenga una cantidad similar de campos en conjuntos de resultados de tipos de datos similares.
Sintaxis:
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION ALL SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Aquí hay una explicación para los parámetros anteriores:
La expresión_1, expresión_2,… expresión_n son los cálculos o columnas que necesita recuperar.
Las tablas son las tablas de las que necesita recuperar registros.
Las condiciones WHERE son las condiciones que deben cumplirse para que se recuperen los registros.
Nota: Ambas sentencias SELECT deben tener el mismo número de expresiones.
Utilizaremos las siguientes tablas:
Libro:
Precio:
Ejecute el siguiente comando:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Debería devolver lo siguiente:
Los duplicados no han sido eliminados.
ORDEN POR
El PostgreSQL El operador UNION se puede utilizar junto con la cláusula ORDER BY para ordenar los resultados de la consulta. Para demostrarlo, utilizaremos las siguientes tablas:
Precio:
Precio2:
Aquí está el comando que demuestra cómo utilizar el operador UNION junto con la cláusula ORDER BY:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
El comando devolverá lo siguiente:
Los registros fueron ordenados por la columna de precio. La cláusula ordena los registros en orden ascendente de forma predeterminada. Para ordenarlos en orden descendente, agregue la cláusula DESC como se muestra a continuación:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
El comando devolverá lo siguiente:
Los registros se han ordenado según la columna de precio en orden descendente.
¿Cuándo usar Union y cuándo usar Union All?
Utilice el operador UNION cuando tenga varias tablas con una estructura similar, pero que se hayan dividido por algún motivo. Es útil cuando necesita eliminar registros duplicados.
Utilice el operador UNION ALL cuando no necesite eliminar registros duplicados.
Usando pgAdmin
Ahora veamos cómo se realizan las tres acciones usando pgAdmin.
Instrucciones de uso PostgreSQL Unión usando pgAdmin
A continuación se muestra un proceso paso a paso sobre cómo utilizarlo. PostgreSQL UNIÓN a través de pgAdmin:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2) En la barra de navegación de la izquierda, haga clic en Bases de datos y, a continuación, en Demo.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
Union all
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2) En la barra de navegación de la izquierda, haga clic en Bases de datos y, a continuación, en Demo.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
ORDEN POR
El operador UNION ALL se puede combinar con la cláusula ORDER BY para ordenar los resultados en el conjunto de resultados. Por ejemplo:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
El comando devolverá lo siguiente:
Los resultados han sido ordenados.
Descargue la Base de Datos utilizada en este Tutorial

















