Questão FC374543
TIPO ID DESCRIÇÃO CLASSE 1 frutas HOR 2 verduras HOR 3 grãos BAS ALIMENTO CÓDIGO NOME PREÇO CATEGORIA 1 morango 15,00 1 2 tomate 12,50 1 3 batata 8,00 2 4 alface 1,50 2 5 arroz 9,2
Linguagem SQL
Instituto Consulplan · 2023
| TIPO |
||
| ID |
DESCRIÇÃO | CLASSE |
| 1 | frutas | HOR |
| 2 | verduras | HOR |
| 3 | grãos | BAS |
| ALIMENTO |
|||
| CÓDIGO |
NOME |
PREÇO |
CATEGORIA |
| 1 | morango |
15,00 | 1 |
| 2 | tomate | 12,50 |
1 |
| 3 | batata | 8,00 | 2 |
| 4 | alface | 1,50 | 2 |
| 5 | arroz | 9,20 | 3 |
Há uma ligação entre as tabelas através de uma chave estrangeira na coluna CATEGORIA da tabela ALIMENTO que faz referência à coluna ID da tabela TIPO. De acordo com o banco de dados, assinale a instrução SQL para retornar a média de preços de cada categoria de alimentos, considerando somente os alimentos cujo preço é maior que 10,00.
- select tipo.descricao, sum(alimento.preco) / count(alimento.codigo) as media
from alimento
inner join tipo on tipo.id = alimento.categoria
where alimento.preco > 10.00
group by 1;
- select tipo.descricao, avg(preco) as media
from tipo
left join alimento on tipo.classe = alimento.categoria
where alimento.preco > 10.00;
- select avg(alimento.preco) as media
from alimento
left join tipo on tipo.id = alimento.categoria
group by tipo.classe
having sum(alimento.preco) > 10;
- select alimento.nome, alimento.preco / count(alimento.codigo) as media
from tipo
inner join alimento on tipo.id = alimento.codigo
where alimento.categoria = 1
and alimento.preco >= 10.00;
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
A instrução usa corretamente o relacionamento entre tabelas: o INNER JOIN liga alimento.categoria a tipo.id, trazendo a descrição da categoria para cada alimento.
O filtro WHERE alimento.preco > 10.00 garante que só sejam consideradas linhas cujo preço excede 10,00 antes da agregação.
Para calcular a média por categoria a consulta faz \( \text{média} = \dfrac{\sum \text{preços}}{\text{nº de itens}} \) representado por sum(alimento.preco) / count(alimento.codigo) as media. Esse cálculo agrega os preços por grupo definido em GROUP BY 1 — isto é, agrupa por tipo.descricao (a primeira coluna do SELECT).
Observação: AVG(alimento.preco) produziria o mesmo resultado; o alias media rotula a coluna final para leitura do resultado.
Conteúdo do catálogo FC Concursos · Atualizado em