União SQLite

Resumo : neste tutorial, você aprenderá como usar UNIONo operador SQLite para combinar conjuntos de resultados de duas ou mais consultas em um único conjunto de resultados.

UNIONIntrodução ao operador SQLite

Às vezes, você precisa combinar dados de diversas tabelas em um conjunto de resultados completo. Pode ser para tabelas com dados semelhantes no mesmo banco de dados ou talvez você precise combinar dados semelhantes de vários bancos de dados.

Para combinar linhas de duas ou mais consultas em um único conjunto de resultados, você usa UNIONo operador SQLite. O seguinte ilustra a sintaxe básica do UNIONoperador:

query_1
UNION [ALL]
query_2
UNION [ALL]
query_3
...;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Os operadores UNIONe UNION ALLcombinam linhas de conjuntos de resultados em um único conjunto de resultados. O UNIONoperador remove e elimina linhas duplicadas, enquanto o UNION ALLoperador não o faz.

Como o UNION ALLoperador não remove linhas duplicadas, ele é executado mais rapidamente que o UNIONoperador.

A seguir estão as regras para unir dados:

  • O número de colunas em todas as consultas deve ser o mesmo.
  • As colunas correspondentes devem ter tipos de dados compatíveis.
  • Os nomes das colunas da primeira consulta determinam os nomes das colunas do conjunto de resultados combinado.
  • As cláusulas GROUP BYe HAVINGsão aplicadas a cada consulta individual, não ao conjunto de resultados final.
  • A ORDER BYcláusula é aplicada ao conjunto de resultados combinado e não ao conjunto de resultados individual.

Observe que a diferença entre UNIONe, JOINpor exemplo, INNER JOINou LEFT JOINé que a JOINcláusula combina colunas de várias tabelas relacionadas, enquanto UNIONcombina linhas de várias tabelas semelhantes.

Suponha que temos duas tabelas t1 e t2 com as seguintes estruturas:

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);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A instrução a seguir combina os conjuntos de resultados da tabela t1 e t2 usando o UNIONoperador:

SELECT v1
  FROM t1
UNION
SELECT v2
  FROM t2;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Aqui está a saída:

Exemplo SQLite UNION

A imagem a seguir ilustra o UNIONfuncionamento das tabelas t1 e t2:

UNIÃO SQLite

A instrução a seguir combina os conjuntos de resultados das tabelas t1 e t2 usando o  UNION ALLoperador:

SELECT v1
  FROM t1
UNION ALL
SELECT v2
  FROM t2;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A imagem a seguir mostra a saída:

Exemplo SQLite UNION ALL

A imagem a seguir ilustra o UNION ALLfuncionamento dos conjuntos de resultados das tabelas t1 e t2:

SQLite UNIÃO TODOS

UNIONExemplos de SQLite

Vejamos alguns exemplos de uso do UNIONoperador.

1) UNIONExemplo SQLite

Esta instrução utiliza o UNIONoperador para combinar nomes de funcionários e clientes em uma única lista:

SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers;

Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Aqui está a saída:

2) SQLite UNIONcom ORDER BYexemplo

Este exemplo usa o UNIONoperador para combinar os nomes dos funcionários e clientes em uma única lista. Além disso, ele usa a ORDER BYcláusula para classificar a lista de nomes por nome e sobrenome.

SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers
ORDER BY FirstName, LastName;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Aqui está a saída:

SQLITE UNION com exemplo ORDER BY

Neste tutorial, você aprendeu como usar UNIONo operador SQLite para combinar linhas de conjuntos de resultados em um único conjunto de resultados. Você também aprendeu as diferenças entre os operadores UNIONe UNION ALL.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *