Dúvida em questão de prova sobre SQL

25/08/2019

11

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);
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.
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
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira