Neste artigo você vai aprender qual a diferença entre UNION e UNION ALL utilizando MySQL, porém é possível adaptar para outros bancos relacionais
Fala programador(a), beleza? Bora aprender mais sobre UNION e também sobre SQL!
A grande diferença entre os dois operadores é que UNION remove os resultados duplicados da query
Já UNION ALL trás os resultados, mesmo que estejam duplicados
Por exemplo:
SELECT nome FROM pessoas UNION SELECT nome FROM empregados;
Neste caso teremos apenas nomes únicos sendo retornados de nossa consulta
Veja agora o exemplo com UNION ALL:
SELECT nome FROM pessoas UNION ALL SELECT nome FROM empregados;
A única diferença é que adicionamos a palavra ALL a UNION, logo se nas tabelas houvessem os mesmos nomes
Ou seja, todos os nomes que estão em uma estão em outra
A opção com UNION traria os nomes apenas uma vez, e a opção de query UNION ALL traria os nomes duas vezes, por causa dos dados repetidos
Note que geralmente não queremos dados repetidos, então provavelmente você utilizará UNION em vez de UNION ALL
Outra informação importante é que UNION é mais lento que UNION ALL, pois precisa processar a remoção dos dados duplicados
Conclusão
Neste artigo você aprendeu a diferença entre UNION e UNION ALL em SQL
Utilizamos MySQL nos exemplos, porém são facilmente adaptados ao seu banco relacional, talvez com leves diferenças na sintaxe
A grande diferença é que UNION remove os dados duplicados, UNION ALL não
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!
Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias
O link acima contém um cupom de desconto para os cursos!