MySQL: UNION ALL operador

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.

MySQL: UNION ALL operador

Este tutorial de MySQL explica cómo usar MySQL UNION TODO operador Con sintaxis y ejemplos.

describir

El operador MySQL UNION ALL 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 MySQL UNION ALL debe tener la misma cantidad de campos en un conjunto de resultados con tipos de datos similares.

sintaxis

La sintaxis del operador UNION ALL en MySQL 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 MySQL que devuelve un campo (y ambos campos tienen el mismo tipo de datos) de varias declaraciones SELECT:

SELECT supplier_id
FROM suppliers
UNION ALL
SELECT supplier_id
FROM orders;

Este operador MySQL UNION ALL devolverá la ID del proveedor varias veces en su conjunto de resultados si la ID del proveedor aparece tanto en la tabla de proveedores como en la de pedidos. El operador MySQL UNION ALL hace No Eliminar duplicados. Si desea eliminar duplicados, pruebe el operador MySQL UNION.

Ejemplo: uso de ORDEN POR

El operador MySQL UNION ALL puede usar la cláusula ORDER BY para ordenar los resultados del operador.

Por ejemplo:

SELECT supplier_id, supplier_name
FROM suppliers
WHERE state="California"
UNION ALL
SELECT company_id, company_name
FROM companies
WHERE company_id > 1000
ORDER BY 2;

En este operador MySQL UNION ALL, debido a que los nombres de columna son diferentes entre las dos declaraciones SELECT, es 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 del proveedor/nombre de la empresa en orden ascendente como ORDER BY 2.

Posición n.º 2 del campo Nombre del proveedor/Nombre de la empresa en el conjunto de resultados.