SóProvas


ID
1822678
Banca
FGV
Órgão
TJ-PI
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

Analise as afirmativas seguintes sobre a função e o processamento das cláusulas “where", “having" e “group by" em conjunto com funções de agregação em comandos SQL.

I. A cláusula 'where" é aplicada depois da agregação.

II. A cláusula “having" é aplicada antes da agregação.

III. A cláusula “having" não pode ser aplicada num comando contendo a cláusula “group by".

IV. A cláusula “group by" estabelece a ordem de aplicação das cláusulas “where" e “group by".

Está correto somente o que se afirma em: 

Alternativas
Comentários
  • Resposta: A

     

    I. A cláusula 'where" é aplicada antes da agregação. 

    II. A cláusula “having" é aplicada depois da agregação. 

    III. A cláusula “having" deve ser aplicada num comando contendo a cláusula “group by". 

    IV. A cláusula “group by" não estabelece a ordem de aplicação das cláusulas “where" e “group by". 
     

  • Questão interessante que trata do comportamento dos agrupamentos na linguagem SQL. Vamos ver item a item:

    I. A cláusula where, na verdade, é aplicada antes da agregação aos registros originais das tabelas que aparecem na cláusula from. A que é aplicada depois da agregação é a having. ERRADO

    II. A cláusula having, como dito no item anterior, é aplicada após a agregação, servindo justamente para filtrar os dados já agrupados. ERRADO

    III. A cláusula having deve ser aplicada em um comando que tem group by, já que serve para filtrar os agrupamentos. ERRADO

    IV. Por fim, a ordem de aplicação de where e group by é definida pela própria linguagem SQL, não pelo próprio group by. Não faz sentido! ERRADO