No SQL a operação UNION difere da operação UNION ALL porque:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - não apresenta, no resultado, as linhas duplicadas.
Para responder a esta questão, é importante entender a diferença entre as operações UNION e UNION ALL no SQL. Ambas são usadas para combinar os resultados de duas ou mais consultas SELECT
em um único conjunto de resultados.
A operação UNION combina os resultados das consultas, mas elimina as linhas duplicadas, garantindo que cada linha seja única no conjunto final de resultados. Isso é feito através da comparação das linhas e a exclusão de duplicatas. É como se internamente um DISTINCT
fosse aplicado ao resultado da união das consultas.
Por outro lado, a operação UNION ALL também combina os resultados das consultas, mas mantém todas as linhas, incluindo duplicados. Isso pode ser útil quando se deseja manter a integralidade dos dados de ambas as consultas, mesmo que haja sobreposição.
Assim, a alternativa C está correta, pois o diferencial da operação UNION em relação ao UNION ALL é que ela não apresenta, no resultado, as linhas duplicadas. As outras alternativas descrevem comportamentos que não são característicos da operação UNION.
É importante lembrar que, para que a operação UNION seja realizada com sucesso, é necessário que todas as consultas envolvidas tenham o mesmo número de colunas e respectivos tipos de dados compatíveis nas colunas correspondentes. Ademais, a ordem das colunas deve ser a mesma nas consultas.
Espero que tenha ficado claro por que a alternativa C é a resposta correta! Se tiver mais dúvidas ou quiser explorar mais sobre consultas SQL, fique à vontade para perguntar.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
DIFERENCIA
O operador UNION ALL tem a mesma funcionalidade do UNION, porém, não executa o SELECT DISTINCT no result set final e apresenta todas as linhas, inclusive as linhas duplicadas.
O operador UNION, por default, executa o equivalente a um SELECT DISTINCT no result set final. Em outras palavras, ele combina o resultado de execução das duas queries e então executa um SELECT DISTINCT a fim de eliminar as linhas duplicadas. Este processo é executado mesmo que não hajam registros duplicados.
c-
UNION and UNION ALL are SQL operators used to concatenate 2 or more result sets. This allows us to write multiple SELECT statements, retrieve the desired results, then combine them together into a final, unified set. The main difference between UNION and UNION ALL is that: UNION: only keeps unique records.
https://www.w3schools.com/sql/sql_ref_union.asp
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo