Tutorial SQL

SQL INÍCIO Introdução SQL Sintaxe SQL Seleção SQL SQL Select Distinto SQL Onde SQL E, Ou, Não Ordem SQL por SQL Inserir em Valores Nulos SQL Atualização SQL Excluir SQL SQL Select Top SQL Mínimo e Máximo Contagem SQL, Média, Soma Como SQL Curingas SQL Entrada SQL SQL entre Alias ​​SQL Junções SQL SQL Inner Join SQL Left Join Associação à direita do SQL Associação completa SQL Auto-junção SQL União SQL SQL Agrupar por SQL tendo SQL existe SQL Qualquer, Todos SQL Selecionar em SQL Inserir na seleção Caso SQL Funções Nulas SQL Procedimentos armazenados SQL Comentários SQL Operadores SQL

Banco de dados SQL

SQL Criar banco de dados SQL Drop DB Banco de dados de backup SQL SQL Criar Tabela Tabela de descarte de SQL Tabela de alteração SQL Restrições SQL SQL não nulo SQL exclusivo Chave Primária SQL Chave estrangeira SQL Verificação SQL Padrão SQL Índice SQL Incremento automático de SQL Datas SQL Visualizações SQL Injeção SQL Hospedagem SQL Tipos de dados SQL

Referências SQL

Palavras-chave SQL Funções do MySQL Funções do SQL Server Funções de acesso MS Referência Rápida SQL

Exemplos SQL

Exemplos SQL Teste SQL Exercícios de SQL Certificado SQL

Operador SQL UNION


O operador SQL UNION

O UNIONoperador é usado para combinar o conjunto de resultados de duas ou mais SELECT instruções.

  • Cada SELECTinstrução dentro UNIONdeve ter o mesmo número de colunas
  • As colunas também devem ter tipos de dados semelhantes
  • As colunas em cada SELECTinstrução também devem estar na mesma ordem

Sintaxe UNION

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

Sintaxe UNION ALL

O UNIONoperador seleciona apenas valores distintos por padrão. Para permitir valores duplicados, use UNION ALL:

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

Nota: Os nomes das colunas no conjunto de resultados geralmente são iguais aos nomes das colunas na primeira SELECTinstrução.


Banco de dados de demonstração

Neste tutorial, usaremos o conhecido banco de dados de exemplo Northwind.

Abaixo está uma seleção da tabela "Clientes":

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

E uma seleção da tabela "Fornecedores":

SupplierID SupplierName ContactName Address City PostalCode Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. London EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA


Exemplo de SQL UNION

A instrução SQL a seguir retorna as cidades (apenas valores distintos) das tabelas "Clientes" e "Fornecedores":

Exemplo

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

Nota: Caso alguns clientes ou fornecedores tenham a mesma cidade, cada cidade será listada apenas uma vez, pois UNIONseleciona apenas valores distintos. Use UNION ALLtambém para selecionar valores duplicados!


SQL UNION ALL Exemplo

A seguinte instrução SQL retorna as cidades (valores duplicados também) das tabelas "Clientes" e "Fornecedores":

Exemplo

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

SQL UNION com WHERE

A instrução SQL a seguir retorna as cidades alemãs (apenas valores distintos) das tabelas "Clientes" e "Fornecedores":

Exemplo

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

SQL UNION ALL com WHERE

A instrução SQL a seguir retorna as cidades alemãs (valores duplicados também) das tabelas "Clientes" e "Fornecedores":

Exemplo

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

Outro exemplo de UNIÃO

A seguinte instrução SQL lista todos os clientes e fornecedores:

Exemplo

SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;

Observe o "AS Type" acima - é um alias. SQL Aliases são usados ​​para dar um nome temporário a uma tabela ou coluna. Um alias existe apenas durante a consulta. Então, aqui criamos uma coluna temporária chamada "Tipo", que lista se a pessoa de contato é um "Cliente" ou um "Fornecedor".