Dúvida em questão de prova sobre SQL

25/08/2019

0

SQL

Boa noite, pessoal. Alguém pode me ajudar com a questão abaixo? A alternativa correta é a letra A, porém eu não entendi o porquê. Alguém consegue me explicar?

Supondo que uma tabela chamada COMPONENTE contenha os atributos Id, Nome, Valor, Disponibilidade e Categoria. Com base nessa tabela, considerando a linguagem SQL, escolha uma das opções abaixo que apresenta o comando sintaticamente INCORRETO:

(A) SELECT Categoria, AVG(Valor), Nome FROM COMPONENTE GROUP BY Categoria;

(B) SELECT * FROM COMPONENTE WHERE Valor IS NOT NULL;

(C) SELECT Categoria, AVG (Valor) FROM COMPONENTE GROUP BY Categoria;

(D) SELECT Categoria, COUNT (*) FROM COMPONENTE GROUP BY Categoria HAVING COUNT(*) > 3;

(E) SELECT Nome, Valor FROM COMPONENTE WHERE Valor > (SELECT AVG(Valor) FROM COMPONENTE);
Sandro

Sandro

Responder

Post mais votado

25/08/2019

Porque quando você usa group by, todos os campos não agregados devem ser agrupados. No caso, você está listando os campos Categoria e Nome, nas no group by colocou somente Categoria.

Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

26/08/2019

Sandro

Porque quando você usa group by, todos os campos não agregados devem ser agrupados. No caso, você está listando os campos Categoria e Nome, nas no group by colocou somente Categoria.


Muito obrigado, cara!
Responder

26/08/2019

Pablo Ruiz

Apenas para complementar as repostas, segue um link sobre conceito de sintaxe do group by.
https://www.devmedia.com.br/conceitos-e-sintaxe-do-group-by-totalizando-dados-sql-server-2008-parte-1/19838
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar