No SQL a operação UNION difere da operação UNION ALL porque:

Próximas questões
Com base no mesmo assunto
Q825051 Banco de Dados
No SQL a operação UNION difere da operação UNION ALL porque:
Alternativas

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