Resumen :en este tutorial, aprenderá a usar SQLite UNION
operador para combinar conjuntos de resultados de dos o más consultas en un único conjunto de resultados.
Introducción a SQLite UNION
operador
A veces, necesita combinar datos de varias tablas en un conjunto de resultados completo. Puede ser para tablas con datos similares dentro de la misma base de datos o tal vez necesite combinar datos similares de varias bases de datos.
Para combinar filas de dos o más consultas en un solo conjunto de resultados, use SQLite UNION
operador. A continuación se ilustra la sintaxis básica de UNION
operador:
query_1
UNION [ALL]
query_2
UNION [ALL]
query_3
...;
Code language: SQL (Structured Query Language) (sql)
Ambos UNION
y UNION ALL
los operadores combinan filas de conjuntos de resultados en un solo conjunto de resultados. La UNION
el operador elimina filas duplicadas, mientras que UNION ALL
el operador no.
Porque la UNION ALL
El operador no elimina las filas duplicadas, se ejecuta más rápido que UNION
operador.
Las siguientes son reglas para unir datos:
- El número de columnas en todas las consultas debe ser el mismo.
- Las columnas correspondientes deben tener tipos de datos compatibles.
- Los nombres de las columnas de la primera consulta determinan los nombres de las columnas del conjunto de resultados combinado.
- El
GROUP BY
yHAVING
las cláusulas se aplican a cada consulta individual, no al conjunto de resultados final. - El
ORDER BY
se aplica al conjunto de resultados combinado, no dentro del conjunto de resultados individual.
Tenga en cuenta que la diferencia entre UNION
y JOIN
por ejemplo, INNER JOIN
o LEFT JOIN
es que el JOIN
cláusula combina columnas de varias tablas relacionadas, mientras que UNION
combina filas de varias tablas similares.
Supongamos que tenemos dos tablas t1 y t2 con las siguientes estructuras:
CREATE TABLE t1(
v1 INT
);
INSERT INTO t1(v1)
VALUES(1),(2),(3);
CREATE TABLE t2(
v2 INT
);
INSERT INTO t2(v2)
VALUES(2),(3),(4);
Code language: SQL (Structured Query Language) (sql)
La siguiente declaración combina los conjuntos de resultados de la tabla t1 y t2 usando UNION
operador:
SELECT v1
FROM t1
UNION
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
Aquí está la salida:
La siguiente imagen ilustra la UNION
funcionamiento de las tablas t1 y t2:
La siguiente declaración combina los conjuntos de resultados de la tabla t1 y t2 usando UNION ALL
operador:
SELECT v1
FROM t1
UNION ALL
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
La siguiente imagen muestra la salida:
La siguiente imagen ilustra la UNION ALL
funcionamiento de los conjuntos de resultados de las tablas t1 y t2:
SQLite UNION
ejemplos
Tomemos algunos ejemplos del uso de UNION
operador.
1) SQLite UNION
ejemplo
Esta instrucción utiliza UNION
operador para combinar nombres de empleados y clientes en una sola lista:
SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Aquí está la salida:
2) SQLite UNION
con ORDER BY
ejemplo
Este ejemplo usa UNION
operador para combinar los nombres de los empleados y clientes en una sola lista. Además, utiliza el ORDER BY
cláusula para ordenar la lista de nombres por nombre y apellido.
SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers
ORDER BY FirstName, LastName;
Code language: SQL (Structured Query Language) (sql)
Aquí está la salida:
En este tutorial, ha aprendido a usar SQLite UNION
operador para combinar filas de conjuntos de resultados en un único conjunto de resultados. También aprendiste las diferencias entre UNION
y UNION ALL
operadores.