O resultado esperado da execução de duas expressões SQL SELE...
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
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