Pular para o conteúdo principal
← Banco de questões
Banco de Dados
Aprovado Ai
2026
SQL - JOIN e Agregação

Banco de Dados · Aprovado.ai 2026

A partir da tabela SQL 'Produtos' (id_produto INT PRIMARY KEY, nome_produto VARCHAR(255), preco DECIMAL(10,2), estoque INT) e da tabela 'Vendas' (id_venda INT PRIMARY KEY, id_produto INT, quantidade INT, data_venda DATE), considere que desejamos obter o nome do produto e o total vendido (preço * quantidade) para todos os produtos que tiveram pelo menos uma venda registrada após 1º de janeiro de 2023, ordenados pelo nome do produto. Qual das opções de query SQL abaixo atende a este requisito?

  1. A)SELECT P.nome_produto, SUM(P.preco * V.quantidade) AS total_vendido FROM Produtos P INNER JOIN Vendas V ON P.id_produto = V.id_product WHERE V.data_venda > '2023-01-01' GROUP BY P.nome_produto ORDER BY P.nome_produto;
  2. B)SELECT P.nome_produto, P.preco * V.quantidade AS total_vendido FROM Produtos P JOIN Vendas V ON P.id_produto = V.id_produto WHERE V.data_venda > '2023-01-01' ORDER BY P.nome_produto;
  3. C)SELECT P.nome_produto, SUM(P.preco * V.quantidade) AS total_vendido FROM Produtos P LEFT JOIN Vendas V ON P.id_produto = V.id_produto WHERE V.data_venda > '2023-01-01' GROUP BY P.nome_produto HAVING SUM(P.preco * V.quantidade) > 0 ORDER BY P.nome_produto;
  4. D)SELECT P.nome_produto, SUM(P.preco * V.quantidade) AS total_vendido FROM Produtos P JOIN Vendas V ON P.id_produto = V.id_produto WHERE V.data_venda > '2023-01-01' GROUP BY P.nome_produto ORDER BY P.nome_produto;
    gabarito
  5. E)SELECT P.nome_produto, P.preco * V.quantidade AS total_vendido FROM Produtos P WHERE id_produto IN (SELECT id_produto FROM Vendas WHERE data_venda > '2023-01-01') ORDER BY P.nome_produto;

Resposta correta: alternativa D

SELECT P.nome_produto, SUM(P.preco * V.quantidade) AS total_vendido FROM Produtos P JOIN Vendas V ON P.id_produto = V.id_produto WHERE V.data_venda > '2023-01-01' GROUP BY P.nome_produto ORDER BY P.nome_produto;

Ver comentário resumido

Para obter o total vendido por produto, é necessário fazer um JOIN entre as tabelas 'Produtos' e 'Vendas'. A condição 'V.data_venda > '2023-01-01'' filtra as vendas. O 'SUM(P.preco * V.quantidade)' agrega o total vendido para cada produto, e o 'GROUP BY P.nome_produto' garante qu…

Resolva e receba a explicação completa por IA

Em vez do gabarito, a IA mostra exatamente onde você errou.

Sem cartão de crédito · Cancele quando quiser

Mais questões de Banco de Dados