Questão nº 68

Questão de Tecnologia da Informação · FGV TJ-AP 2024 (nº 68)

FGV2024Analista Judiciário - TI - Banco de DadosTecnologia da Informação
Gabarito: Bver comentário ↓

Observe a estrutura da tabela “Cliente” abaixo:

```
CREATE TABLE cliente (
cliente_ID NUMBER(12) PRIMARY KEY,
cidade VARCHAR2(50) NOT NULL,
limite_credito NUMBER(13,2) DEFAULT 0
);
```

Com o objetivo de gerar um relatório que mostre o limite de crédito médio para clientes em “Sao Paulo” e “Belo Horizonte”, a consulta a ser executada é:

Resposta comentada

Gabarito Alternativa B

Para obter resumos de dados, como a média ou a soma, para grupos específicos, usamos a cláusula `GROUP BY`. Ela agrupa linhas com valores idênticos em uma ou mais colunas, permitindo que funções de agregação (como `AVG` para média) operem sobre esses grupos.

(A) Incorreta: A consulta não possui a cláusula `GROUP BY cidade`, o que faria com que `AVG()` calculasse uma única média para todos os clientes das cidades selecionadas juntas, e não uma média para cada cidade separadamente. O `NVL` é redundante, pois a coluna tem `DEFAULT 0`.
(B) Correta: Esta é a consulta correta. O `WHERE` filtra os clientes das cidades desejadas, e o `GROUP BY cidade` agrupa os resultados por cidade, permitindo que a função `AVG(limite_credito)` calcule a média do limite de crédito para cada cidade individualmente, conforme solicitado.
(C) Incorreta: A armadilha da banca aqui é usar `GROUP BY cliente_ID`. Como `cliente_ID` é um identificador único para cada cliente, agrupar por ele significa que cada grupo terá apenas um cliente. Assim, `AVG(limite_credito)` retornaria o próprio limite de crédito de cada cliente, e não a média dos limites de crédito por cidade.
(D) Incorreta: Agrupar por `cidade, limite_credito` criaria grupos muito específicos. Um grupo seria formado por clientes que têm a mesma cidade E o mesmo limite de crédito. Isso não resultaria na média do limite de crédito para todos os clientes de uma cidade, mas sim na média de clientes com o mesmo limite dentro da mesma cidade (que seria o próprio limite, se todos no grupo tiverem o mesmo).
(E) Incorreta: Esta alternativa é funcionalmente idêntica à alternativa D. A ordem das colunas na cláusula `GROUP BY` não altera o resultado dos grupos formados. Portanto, sofre do mesmo problema de granularidade excessiva, não fornecendo a média por cidade.

Fonte: FGV TJ-AP 2024 Analista Judiciário - TI - Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho