Informática, perguntado por marcelo27092001, 11 meses atrás

Segue os comandos CREATE TABLE para a tabela de produtos e movimentos. Observe que um produto pode apresentar um ou mais movimentos, porém um movimento não pode existir sem um produto correspondente.



Para saber qual é a quantidade de produtos movimentados precisamos executar um comando SQL de consulta ou extração de dados. Assinale a afirmativa com o comando SELECT que apresente o produto (id e nome) , a soma das quantidades dos movimentos correspondentes, sendo agrupado pelo id e nome do produto.

Alternativas
Alternativa 1:
SELECT p.id, p.nome, SUM(m.quantidade) as soma_quantidade FROM produtos p INNER JOIN movimentos m ON p.id = m.id_produto;

Alternativa 2:
SELECT SUM(m.quantidade) as soma_quantidade FROM produtos p INNER JOIN movimentos m ON p.id = m.id_produto;

Alternativa 3:
SELECT p.id, p.nome, SUM(m.quantidade) as soma_quantidade FROM produtos p INNER JOIN movimentos m ON p.id = m.id_produto GROUP BY p.id, p.nome;

Alternativa 4:
SELECT p.id, p.nome, AVG(m.quantidade) as soma_quantidade FROM produtos p INNER JOIN movimentos m ON p.id = m.id_produto GROUP BY p.id, p.nome;

Alternativa 5:
SELECT p.id, p.nome, COUNT(m.quantidade) as soma_quantidade FROM produtos p INNER JOIN movimentos m ON p.id = m.id_produto GROUP BY p.id, p.nome;

Anexos:

Soluções para a tarefa

Respondido por lasouza627
4

As considerações a respeito das alternativas apresentadas sobre a consulta ao banco de dados são feitas a seguir.

Explicação:

Alternativa 1:

SELECT p.id, p.nome, SUM(m.quantidade) as soma_quantidade FROM produtos p INNER JOIN movimentos m ON p.id = m.id_produto;

Falsa - Faltou o comando para fazer o agrupamento (GROUP BY)

Alternativa 2:

SELECT SUM(m.quantidade) as soma_quantidade FROM produtos p INNER JOIN movimentos m ON p.id = m.id_produto;

Falsa - Faltam as colunas id e nome

Alternativa 3:

SELECT p.id, p.nome, SUM(m.quantidade) as soma_quantidade FROM produtos p INNER JOIN movimentos m ON p.id = m.id_produto GROUP BY p.id, p.nome;

Verdadeira - Atende a todos os requisitos

Alternativa 4:

SELECT p.id, p.nome, AVG(m.quantidade) as soma_quantidade FROM produtos p INNER JOIN movimentos m ON p.id = m.id_produto GROUP BY p.id, p.nome;

Falsa - AVG traz a média das quantidades e não a soma

Alternativa 5:

SELECT p.id, p.nome, COUNT(m.quantidade) as soma_quantidade FROM produtos p INNER JOIN movimentos m ON p.id = m.id_produto GROUP BY p.id, p.nome;

Falsa - COUNT traz o número de quantidades e não a soma

Perguntas interessantes