FC ConcursosFC Concursos

Questão FC372829

Atribuiu-se uma tarefa a um técnico para, a partir da seguinte tabela de um banco de dados relacional: Item (ID, Nome, Tipo, Valor), gerar o comando SQL ANSI para obter o valor méd

Linguagem SQL

FCC · 2019

Atribuiu-se uma tarefa a um técnico para, a partir da seguinte tabela de um banco de dados relacional: Item (ID, Nome, Tipo, Valor), gerar o comando SQL ANSI para obter o valor médio de cada tipo de item, apenas para aqueles tipos que comecem com a letra ‘S’. O comando SQL solicitado é

  1. SELECT Tipo, Σ Valor/Number(Tipo);      FROM Item      WHERE Tipo IS ‘S%      COUNT Tipo;
  2. SELECT Tipo, Σ Valor/Number(Tipo)      FROM Item      ORDER BY Tipo ( ‘S%’);
  3. SELECT Tipo, AVG (Valor)      FROM Item      GROUP BY Tipo (‘S%’);
  4. SELECT Tipo, AVG (Valor)      FROM Item      WHERE Tipo LIKE ‘S%’      GROUP BY Tipo;
  5. SELECT Tipo, Total (Valor)/Number (Tipo)      FROM Item      WHERE Tipo START ‘S%’      HAVING Tipo IN GROUP;
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

SELECT retorna para cada Tipo o valor médio calculado pela função agregada AVG(Valor), ou seja, a média dos valores pertencentes a cada grupo.


A cláusula WHERE filtra as linhas antes do agrupamento: WHERE Tipo LIKE 'S%' mantém apenas os registros cujo campo Tipo começa com 'S'. O operador LIKE usa o padrão 'S%' onde «%» significa qualquer sequência de caracteres.


Depois do filtro, GROUP BY Tipo agrupa as linhas por tipo; para cada grupo a função AVG(Valor) calcula a média. A ordem lógica é: filtro (WHERE) → agrupar (GROUP BY) → agregar (AVG).


Matematicamente: \( \text{AVG(Valor)} = \dfrac{\sum Valor}{\text{contagem de linhas no grupo}} \). O resultado traz uma linha por Tipo com sua média.

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

Continue aprendendo