39. UNION
Escrito por Uianes Luiz Rockenbach Biondo.
Última atualização em 12 mai. 2024
Última atualização em 12 mai. 2024
A instrução UNION é usada para unir dados de duas ou mais tabelas. O SGBD criará uma tabela de resultados com os valores das tabelas combinadas. É importante que toda vez que um UNION for utilizado, o mesmo número de colunas seja solicitado em ambas as tabelas.
Sintaxe:
SELECT coluna1 FROM nomeTabela1 UNIONSELECT coluna1 FROM nomeTabela2; Exemplo:
Tabela Cidade
| cidade_id | cidade_nome |
| 1 | Santa Maria |
| 2 | Porto Alegre |
| 3 | Crissiumal |
| 4 | Braga |
| 5 | Chiapetta |
| 6 | Nova Ramada |
| 7 | São Valério do Sul |
| 8 | Nova Candelária |
| 9 | Boa Vista do Buricá |
Tabela Cliente
| cliente_id | cliente_nome | cliente_cidade | cidade_CEP | cliente_país |
| 1 | Uianes | Santo Augusto | 98590-000 | Brasil |
| 2 | Ana | Três Passos | 98600-000 | Brasil |
| 3 | José | Tenente Portela | 98500-000 | Brasil |
| 4 | Bruno | Porto Alegre | 90020-180 | Brasil |
| 5 | Saulo | Santa Maria | 97090-000 | Brasil |
Para criar uma lista de todas as cidades presentes nas duas tabelas:
SELECT cliente_cidade FROM cliente UNIONSELECT cliente_nome FROM cidade; Resultado:
| cliente_cidade |
| Santo Augusto |
| Três Passos |
| Tenente Portela |
| Porto Alegre |
| Santa Maria |
| Crissiumal |
| Braga |
| Chiapetta |
| Nova Ramada |
| São Valério do Sul |
| Nova Candelária |
| Boa Vista do Buricá |
Perceba que nenhuma cidade é repetida, pois o UNION ignora os valores repetidos, escrevendo-os somente uma vez. Para que os valores iguais sejam repetidos é necessário utilizar o UNION ALL.
UNION ALL:
SELECT cliente_cidade FROM cliente UNION ALLSELECT cliente_nome FROM cidade; Resultado:
| cliente_cidade |
| Santa Maria |
| Porto Alegre |
| Crissiumal |
| Braga |
| Chiapetta |
| Nova Ramada |
| São Valério do Sul |
| Nova Candelária |
| Boa Vista do Buricá |
| Santo Augusto |
| Três Passos |
| Tenente Portela |
| Porto Alegre |
| Santa Maria |