O resultado esperado da execução de duas expressões SQL SELE...

Próximas questões
Com base no mesmo assunto
Q854063 Banco de Dados

O resultado esperado da execução de duas expressões SQL SELECT é uma lista completa dos valores distintos de cidade e pais, ambos com o mesmo tipo de dado, obtidos respectivamente das tabelas cidadao e tribunal.


As expressões são


SELECT cidade, pais FROM cidadao

WHERE pais='Brasil'

..I..

SELECT cidade, pais FROM tribunal

WHERE pais='Brasil'


Para a lista ser completa e os valores serem distintos, a lacuna I deve ser corretamente preenchida com

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a D - union.

Para resolver essa questão, é essencial compreender o funcionamento dos comandos SELECT, WHERE e dos operadores de conjunto UNION e UNION ALL, assim como as diferenças entre eles. O SELECT é utilizado para recuperar dados das tabelas. O WHERE é usado para filtrar registros que se enquadram em determinada condição.

O operador UNION é usado para combinar os resultados de duas ou mais consultas SELECT em um único conjunto de resultados, eliminando duplicatas. A combinação dos resultados é feita coluna a coluna. Por outro lado, UNION ALL também combina os resultados de múltiplas consultas, mas mantém as duplicatas.

Nesse caso, a instrução UNION é adequada porque o enunciado pede uma "lista completa dos valores distintos de cidade e país". Portanto, após a união dos resultados das duas tabelas (cidadao e tribunal), queremos eliminar qualquer duplicidade para obter uma lista de valores distintos de cidades e países onde o país é o Brasil, o que é exatamente o que a operação UNION oferece.

É importante notar que as outras opções como JOIN são utilizadas para combinar linhas de duas ou mais tabelas baseadas em uma coluna relacionada entre elas. No entanto, o enunciado não pede uma junção de tabelas, mas sim uma lista completa e distinta de valores de duas colunas de tabelas diferentes. Por sua vez, LIKE é utilizado para realizar operações de correspondência de padrões em SQL, o que não se aplica ao enunciado.

Concluindo, a alternativa correta D - union é a única que atende à necessidade de gerar uma lista completa e sem duplicatas a partir de duas consultas distintas.

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

A Junção de duas consultas se dá pelo UNION.

2016
No que concerne a banco de dados, julgue o item a seguir.
O resultado da consulta a seguir, que utiliza o operador UNION, não elimina os registros duplicados entre as tabelas.
SELECT depto FROM emp
UNION
SELECT depto FROM depto;
ERRADA

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.

 

Fonte: https://www.devmedia.com.br/sql-utilizando-o-operador-union-e-union-all/37457

union -> por padrão traz tabelas distintas.

e) union all -> conterá tabelas repetidas.

Union all --> The following SQL statement selects all cities (duplicate values also) from "Customers" and "Suppliers":

UNION

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.

UNION ALL 

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.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo