← Questões de Banco de Dados

Banco de Dados · FGV · 2025

Questão comentada de Banco de Dados

Em um banco de dados SQL existe uma tabela chamada Vendas com as colunas VendaID, VendedorID e ValorVenda. Para listar, sem duplicatas, o VendedorID de todos os vendedores que tenham realizado vendas superiores ao valor de 10.000, devemos usar a seguinte consulta:

Gabarito: D

Quando a questão pede "listar, sem duplicatas, o VendedorID" de quem fez vendas acima de 10.000, você precisa juntar duas ideias: filtrar as linhas pelo valor da venda e depois eliminar repetidos. Em SQL, o filtro linha a linha é feito com WHERE, e a retirada de duplicatas é feita com DISTINCT. Simples, sem drama de novela: primeiro você seleciona apenas as vendas com ValorVenda maior que 10000, depois pega os VendedorID sem repetição. Por isso, a consulta correta é SELECT DISTINCT VendedorID FROM Vendas WHERE ValorVenda > 10000;. Ela traz todos os vendedores que tenham pelo menos uma venda acima de 10.000, sem repetir o mesmo vendedor várias vezes se ele tiver feito mais de uma venda nessas condições. As outras alternativas escorregam em pontos clássicos. SUM e MAX são funções de agregação e exigiriam GROUP BY e, em alguns casos, HAVING bem usados. Além disso, HAVING serve para filtrar grupos depois do agrupamento, não para inventar comparação solta com uma coluna que nem está agregada. Em SQL, a ordem lógica ajuda muito: WHERE filtra antes, DISTINCT elimina duplicatas depois. Então, o gabarito D está correto porque faz exatamente o que o enunciado pediu: filtra vendas superiores a 10.000 e retorna os vendedores sem repetição.

Continue treinando

Questões relacionadas