Questão 35 · Informática: Banco de dados
create table produtos( id integer primary key, descricao varchar(200) not null, preco numeric(10,2), quantidade numeric(4) ); insert into produtos (id, descricao) values (1,'Livro de Banco de Dados'); insert into produtos (id, descricao, preco) values (2,'Caneta vermelha',2.3); insert into produtos (id, descricao, preco) values (3,'Borracha',0.8); insert into produtos (id, descricao, preco, quantidade) values (4,'Caderno 100 páginas',2.3, 30); insert into produtos (id, descricao, preco, quantidade) values (5,'Lupa Grande',5.9, 5); select count(*), count(preco), sum(preco), count(quantidade), avg(quantidade) from produtos; Assinale a opção que apresenta o resultado correto para as expressões SQL precedentes.
- A) 5 5 11.30 5 17.50
- B) 5 4 11.30 2 7.0
- C) 5 4 11.30 2 17.50
- D) 5 4 11.30 4 7.0
- E) 5 5 11.30 5 7.0
Marque a alternativa correta:
Gabarito: C
Gabarito definitivo divulgado pela banca Cebraspe (TJ/RJ 2021).
Comentário
Gabarito: C.
Linhas da tabela: (1) sem preço e sem quantidade; (2) preço 2,3; (3) preço 0,8; (4) preço 2,3 e quantidade 30; (5) preço 5,9 e quantidade 5.
- count(*) conta todas as linhas: 5.
- count(preco) ignora NULL; só a linha 1 não tem preço: 4.
- sum(preco) = 2,3 + 0,8 + 2,3 + 5,9 = 11,30.
- count(quantidade): só as linhas 4 e 5 têm quantidade: 2.
- avg(quantidade) ignora NULL: (30 + 5) / 2 = 17,5.
Resultado: 5, 4, 11.30, 2, 17.50, alternativa C.
- (A) Errada. count(preco) não é 5 e count(quantidade) não é 5: as linhas com NULL não são contadas (4 e 2).
- (B) Errada. A média não é 7,0: o AVG ignora os NULL e divide por 2 (35/2 = 17,5); 7,0 seria 35/5, contando linhas sem quantidade.
- (D) Errada. count(quantidade) é 2, não 4, e a média também não é 7,0 pelo mesmo motivo de B.
- (E) Errada. count(preco) é 4 e count(quantidade) é 2, não 5; e a média é 17,5, não 7,0.
Dica: funções de agregação ignoram NULL, exceto count(*); conte quantas linhas têm valor antes de dividir.
Fundamentos: Padrão SQL: funções de agregação count, sum e avg e tratamento de NULL
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova Cebraspe TJ/RJ 2021 (Analista Judiciário – Grupo: Tecnologia da Informação – Especialidade: Analista de Infraestrutura de TIC), questão 35, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.