O operador UNION SQL combina o resultado de duas ou mais instruções SELECT.
O operador de união SQL
O operador UNION é usado para combinar o resultado-conjunto de duas ou mais instruções SELECT.
Observe que cada instrução SELECT dentro da União devem ter o mesmo número de colunas. As colunas também devem ter tipos de dados semelhantes. Além disso, as colunas em cada instrução SELECT deve estar na mesma ordem.
SQL UNIÃO Sintaxe
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2 ;
Note: O operador UNION seleciona apenas valores distintos por padrão. Para permitir valores duplicados, use a palavra-chave ALL com UNION.
SQL UNION ALL Sintaxe
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2 ;
PS: Os nomes das colunas no resultado-set de uma união são geralmente iguais aos nomes das colunas na primeira instrução SELECT na União.
Banco de Dados de demonstração
Neste tutorial, vamos utilizar a base de dados conhecida exemplo Adamastor.
Abaixo está uma seleção do "Customers" da tabela:
Identificação do Cliente | Nome do cliente | Nome de contato | Endereço | Cidade | Código postal | País |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico D.F. | 05023 | Mexico |
E uma seleção do "Suppliers" tabela:
SupplierID | Nome do Fornecedor | Nome de contato | Endereço | Cidade | Código postal | País |
---|---|---|---|---|---|---|
1 | líquido exótico | Charlotte Cooper | 49 Gilbert St. | Londres | EC1 4SD | Reino Unido |
2 | New Orleans Cajun Delights | Shelley Burke | PO Box 78934 | Nova Orleans | 70117 | EUA |
3 | Homestead da avó Kelly | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | EUA |
SQL Exemplo UNIÃO
A seguinte instrução SQL seleciona todas as cidades diferentes (apenas valores distintos) a partir dos "Customers" e os "Suppliers" tabelas:
Note: UNION não pode ser usado para listar todas as cidades das duas tabelas. Se vários clientes e fornecedores compartilham a mesma cidade, cada cidade só será listada uma vez. UNIÃO seleciona apenas valores distintos. Use UNION ALL também selecionar valores duplicados!
SQL UNION ALL Exemplo
A seguinte instrução SQL usa UNION ALL para selecionar todos os valores duplicados (também) cidades dos "Customers" e "Suppliers" tabelas:
Exemplo
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
Tente você mesmo " UNIÃO SQL TODOS ONDE
A seguinte instrução SQL usa UNION ALL para selecionar todos os valores duplicados (também) cidades alemãs dos "Customers" e "Suppliers" tabelas:
Exemplo
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY
City;
Tente você mesmo "