O operador UNION

O operador UNION combina dois ou mais comandos SELECT agrupando os seus resultados distintos.

Observe que cada comando SELECT no UNION deve ter a mesma quantidade de colunas, as colunas devem ser de tipos de dados similares e tambem as colunas devem estar na mesma ordem.

Sintaxe do UNION
   1:SELECT nome_coluna(s) FROM nome_tabela1
2:UNION
3:SELECT nome_coluna(s) FROM nome_tabela2
Nota: O operador UNION seleciona somente os valores distintos por padrão. Para permitir valores duplicados, use o UNION ALL.

Sintaxe do UNION ALL
   1:SELECT nome_coluna(s) FROM nome_tabela1
2:UNION ALL
3:SELECT nome_coluna(s) FROM nome_tabela2
Nota: Os nomes das colunas no resultset de um UNION são sempre iguais aos nomes de colunas do primeiro comando SELECT no UNION.

Exemplo de UNION

Observe as seguintes tabelas:

Funcionarios_Europeus:

idnome
01Hansen, Ola
02Svendson, Tove
03Svendson, Stephen
04Pettersen, Kari

Funcionarios_Americanos:

idnome
01Turner, Sally
02Kent, Clark
03Svendson, Stephen
04Scott, Stephen

Agora nós queremos listar todos os funcionários europeus e americanos:
   1:SELECT nome FROM Funcionarios_Europeus
2:UNION
3:SELECT nome FROM Funcionarios_Americanos
O resultado ficará assim:

nome
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Scott, Stephen

Nota: Este comando não pode ser usado para listar todos os funcionários Europeus e Americanos. No exemplo acima nos temos dois funcionários com nomes iguais e apenas um deles será mostrado. O comando UNION mostra somente valores distintos.

Exemplo de UNION ALL

Agora nos queremos listar todos os funcionarios Europeus e Americanos:
   1:SELECT nome FROM Funcionarios_Europeus
2:UNION ALL
3:SELECT nome FROM Funcionarios_Americanos
Resultado:

nome
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Svendson, Stephen
Scott, Stephen

Fonte

Nenhum comentário:

Postar um comentário