Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
PostgreSQL: UNION ALL operador
Este tutorial de PostgreSQL explica cómo usar PostgreSQL UNION TODO operador Con sintaxis y ejemplos.
describir
El operador UNION ALL de PostgreSQL se usa para combinar los conjuntos de resultados de 2 o más declaraciones SELECT. Devuelve todas las filas de la consulta y no elimina las filas duplicadas entre varias declaraciones SELECT.
Cada declaración SELECT en el operador UNION ALL de PostgreSQL debe tener la misma cantidad de campos en conjuntos de resultados con tipos de datos similares.
sintaxis
La sintaxis del operador UNION ALL en PostgreSQL es:
SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] UNION ALL SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions];
parámetro o parámetro
expresión1, expresión2, … expresión_n La columna o el cálculo que desea recuperar. tabla La tabla de la que desea recuperar registros. Debe aparecer al menos una tabla en la cláusula FROM. La condición WHERE es opcional. Para seleccionar las condiciones que debe cumplir un registro.
notas
- Debe haber el mismo número de expresiones en ambas sentencias SELECT.
- Los nombres de columna en la primera instrucción SELECT se utilizan como nombres de columna en el conjunto de resultados.
Ejemplo: devolver un solo campo
El siguiente es un ejemplo del operador UNION ALL de PostgreSQL que devuelve un campo (y ambos campos tienen el mismo tipo de datos) de varias declaraciones SELECT:
SELECT category_id FROM products UNION ALL SELECT category_id FROM categories;
Si category_id aparece en las tablas de productos y categorías, este operador UNION ALL de PostgreSQL devolverá category_id varias veces en su conjunto de resultados. El operador PostgreSQL UNION ALL hace No Eliminar duplicados. Si desea eliminar duplicados, intente usar el operador UNION de PostgreSQL.
Ejemplo: uso de ORDEN POR
El operador UNION ALL de PostgreSQL puede usar la cláusula ORDER BY para ordenar los resultados del operador.
Por ejemplo:
SELECT product_id, product_name FROM products WHERE product_name LIKE 'S%' UNION SELECT category_id, category_name FROM categories WHERE category_id < 99 ORDER BY 2;
En este operador UNION ALL de PostgreSQL, dado que los nombres de columna difieren entre las dos declaraciones SELECT, es más ventajoso referirse a las columnas en la cláusula ORDER BY por su posición en el conjunto de resultados.En este ejemplo, hemos ordenado los resultados por nombre_producto / nombre_categoría en orden ascendente como ORDER BY 2
.
Posición #2 del campo nombre_producto / nombre_categoría en el conjunto de resultados.