FC ConcursosFC Concursos

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.

  1. 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;

  2. select tipo.descricao, avg(preco) as media

    from tipo

    left join alimento on tipo.classe = alimento.categoria

    where alimento.preco > 10.00;

  3. 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;

  4. 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

Continue aprendendo