113 lines
2.9 KiB
Markdown
113 lines
2.9 KiB
Markdown
---
|
|
title: SQL Union Operator
|
|
localeTitle: Operador SQL Union
|
|
---
|
|
## Operador SQL Union
|
|
|
|
### Descripción
|
|
|
|
Para esta guía, analizaremos la sección Operador UNION de la declaración SQL.
|
|
|
|
El operador UNION se utiliza para combinar los resultados de varias declaraciones de selección en un conjunto de resultados.
|
|
|
|
Las declaraciones de SQL deben tener el mismo número de columnas en su declaración de selección.
|
|
|
|
### Ejemplo básico
|
|
|
|
Declaración SQL
|
|
|
|
```sql
|
|
SELECT 'aaaaa'
|
|
UNION
|
|
SELECT 'bbbbbbbbb';
|
|
```
|
|
|
|
Salida
|
|
|
|
```
|
|
+-----------+
|
|
| aaaaa |
|
|
+-----------+
|
|
| aaaaa |
|
|
| bbbbbbbbb |
|
|
+-----------+
|
|
2 rows in set (0.00 sec)
|
|
```
|
|
|
|
### Ejemplo usando las tablas de los estudiantes.
|
|
|
|
Declaración SQL
|
|
|
|
```sql
|
|
SELECT StudentID, FullName FROM student WHERE studentID BETWEEN 1 AND 5
|
|
UNION
|
|
SELECT studentID, studentEmailAddr FROM `student-contact-info` WHERE studentID BETWEEN 7 AND 8;
|
|
```
|
|
|
|
Salida
|
|
```
|
|
+ ----------- + -------------------------------- +
|
|
| StudentID | Nombre completo |
|
|
+ ----------- + -------------------------------- +
|
|
| 1 | Monique Davis |
|
|
| 2 | Teri Gutierrez |
|
|
| 3 | Spencer Pautier |
|
|
| 4 | Louis Ramsey |
|
|
| 5 | Alvin Greene |
|
|
| 7 | Maximo.Smith@freeCodeCamp.org |
|
|
| 8 | Michael.Roach@freeCodeCamp.ort |
|
|
+ ----------- + -------------------------------- +
|
|
7 filas en conjunto (0,00 seg)
|
|
```
|
|
## SQL UNION ALL Operator
|
|
|
|
The UNION ALL operator is an extension to UNION operator where it should result you a A+B of rows in the ouptput assuming A and B is your input, in simple terms UNION ALL doesn't deduplicate.
|
|
|
|
|
|
### Basic Syntax
|
|
|
|
SQL Statement
|
|
```
|
|
### Union All
|
|
Se usa la cláusula UNION ALL cuando se desea que si un registro de SQL A es el mismo del SQL B no se muestre en uno solo:
|
|
|
|
Si corremos el siguiente Query con union el resultado será:
|
|
|
|
```
|
|
SELECT CustomerName FROM Customers
|
|
WHERE City IN ('Paris','London')
|
|
AND customername = 'Around the Horn'
|
|
union
|
|
SELECT CustomerName FROM Customers
|
|
WHERE City IN ('Paris','London')
|
|
AND customername = 'Around the Horn';
|
|
|
|
Number of Records: 1
|
|
CustomerName
|
|
Around the Horn
|
|
```
|
|
Pero si corremos el mismo Query con UNION ALL el resultado no eliminará la columna repetida:
|
|
```
|
|
SELECT CustomerName FROM Customers
|
|
WHERE City IN ('Paris','London')
|
|
AND customername = 'Around the Horn'
|
|
union all
|
|
SELECT CustomerName FROM Customers
|
|
WHERE City IN ('Paris','London')
|
|
|
|
Number of Records: 2
|
|
CustomerName
|
|
Around the Horn
|
|
Around the Horn
|
|
```
|
|
|
|
sql SELECCIONAR expresión1, expresión2, ... expresión _n DE las tablas \[DÓNDE condiciones\] UNION TODO SELECCIONAR expresión1, expresión2, ... expresión_ n DE las tablas \[DÓNDE condiciones\]; \`\` \`
|
|
|
|
Al igual que con todas estas cosas de SQL, hay MUCHO MÁS que lo que está en esta guía introductoria.
|
|
|
|
Espero que al menos esto te dé suficiente para empezar.
|
|
|
|
Consulte el manual de su administrador de base de datos y diviértase probando diferentes opciones usted mismo.
|
|
|
|
SQL para el union all se usó desde: https://www.w3schools.com/sql/trysql.asp?filename=trysql_op_in
|