Questão FC369446
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
Linguagem SQL
FGV · 2024
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 é:
- SELECT cidade, AVG(NVL(limite_credito,0)) FROM
cliente WHERE cidade IN ('SAO PAULO','BELO
HORIZONTE');
- SELECT cidade, AVG(limite_credito) FROM cliente
WHERE cidade IN ('SAO PAULO','BELO HORIZONTE')
GROUP BY cidade;
- SELECT cidade, AVG(limite_credito) FROM cliente
WHERE cidade IN ('SAO PAULO','BELO HORIZONTE')
GROUP BY cliente_ID;
- SELECT cidade, AVG(limite_credito) FROM cliente
WHERE cidade IN ('SAO PAULO','BELO HORIZONTE')
GROUP BY cidade, limite_credito;
- SELECT cidade, AVG(limite_credito) FROM cliente
WHERE cidade IN ('SAO PAULO','BELO HORIZONTE')
GROUP BY limite_credito, cidade;
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A consulta SELECT cidade, AVG(limite_credito) FROM cliente WHERE cidade IN ('SAO PAULO','BELO HORIZONTE') GROUP BY cidade; filtra primeiro os registros com a cláusula WHERE, mantendo apenas clientes de São Paulo e Belo Horizonte.
Em seguida, a cláusula GROUP BY agrupa as linhas por cidade, produzindo um grupo para cada cidade. Para cada grupo é calculada a função agregada AVG, que devolve a média do campo limite_credito.
Importante: em SQL a função AVG ignora valores NULL, portanto a média é calculada como \( \text{AVG} = \frac{\sum\limits_{i} limite\_credito_i}{\text{nº de valores não nulos}} \).
Resultado: uma linha por cidade com o respectivo limite de crédito médio, que atende ao objetivo do relatório.
Conteúdo do catálogo FC Concursos · Atualizado em