FC ConcursosFC Concursos

Questão FC374548

Considere as informações em uma tabela chamada produtos de um banco de dados relacional de uma loja: Código Produto Preço Fornecedor Estoque 1 Bolsa 150 A 5 2 Agenda 30 B 10 3 Chap

Linguagem SQL

Instituto Consulplan · 2021

Considere as informações em uma tabela chamada produtos de um banco de dados relacional de uma loja:

 

Código

Produto Preço Fornecedor

Estoque

1 Bolsa 150 A 5
2 Agenda 30 B 10
3 Chapéu 120 C 22
4 Luva 90 B 9
5 Bolsa 200 A 1
6 Pulseira 150 A 2
 

Para saber o valor total em estoque de cada fornecedor, o exato comando SQL que retorna à informação desejada é:

  1. select fornecedor, preco*estoque as valor from produtos
  2. select distinct fornecedor, sum(preco) as valor from produtos
  3. select fornecedor, sum(preco*estoque) as valor from produtos group by fornecedor
  4. select fornecedor, valor from produtos group by fornecedor having sum(preco*estoque) as valor
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A consulta select fornecedor, sum(preco*estoque) as valor from produtos group by fornecedor calcula o valor total em estoque por fornecedor ao multiplicar, para cada linha, o preco*estoque e então agregar esses resultados.

O termo preco*estoque é avaliado por registro; a função SUM acumula esses produtos; a cláusula GROUP BY garante que a soma seja feita separadamente para cada fornecedor. O alias AS apenas renomeia a coluna resultante para "valor".

Aplicando aos dados: fornecedor A → \(150\cdot5 + 200\cdot1 + 150\cdot2 = 1250\); fornecedor B → \(30\cdot10 + 90\cdot9 = 1110\); fornecedor C → \(120\cdot22 = 2640\).

Portanto, a consulta retorna uma linha por fornecedor com o somatório do valor do estoque de seus produtos, exatamente o pedido pelo enunciado.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo