Considerando os SGBDs MySQL e PostgreSQL, em qual cláusula d...

Próximas questões
Com base no mesmo assunto
Q978938 Banco de Dados
Considerando os SGBDs MySQL e PostgreSQL, em qual cláusula do comando SELECT o resultado das funções de agregação pode ser utilizado em condições de filtragem dos registros?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - HAVING.

No estudo de Sistemas de Gerenciamento de Banco de Dados (SGBDs), como MySQL e PostgreSQL, é importante conhecer os comandos SQL e, em particular, a sintaxe do comando SELECT. Este comando é utilizado para recuperar dados de uma ou mais tabelas. Dentro de um comando SELECT, algumas cláusulas têm propósitos específicos, especialmente quando lidamos com funções de agregação, tais como COUNT, SUM, AVG, MAX, e MIN.

A cláusula WHERE é utilizada para filtrar registros antes de qualquer função de agregação ser aplicada. Ou seja, ela opera sobre linhas individuais. Por outro lado, a cláusula HAVING é especificamente projetada para permitir condições de filtragem após a aplicação de funções de agregação. Isso significa que você pode filtrar grupos de registros com base no resultado de uma agregação. Por exemplo, se quisermos selecionar todos os departamentos de uma empresa que têm mais de 10 funcionários, usaríamos HAVING para filtrar os resultados da função de agregação COUNT.

É fundamental entender esta distinção para saber quando aplicar HAVING em vez de WHERE. No que diz respeito às demais opções, SELECT é usada para especificar as colunas a serem retornadas, FROM especifica as tabelas de onde os dados serão retirados, e ORDER BY é usada para ordenar os resultados.

Portanto, a alternativa correta é a B - HAVING, porque ela é a única cláusula entre as opções apresentadas onde você pode usar o resultado das funções de agregação para filtrar os dados de um SELECT.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Alternativa correta: B.

>WHERE deve ser usado antes de funções de agregação, incidindo sobre todos os campos da cláusula SELECT

>HAVING deve ser usado depois das funções de agregação, incidindo sobre os campos que surgirem/restarem depois das agregações

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo