Qual alternativa abaixo melhor identifica a principal diferença entre a cláusula WHERE e a cláusula HAVING?

Questão

Qual alternativa abaixo melhor identifica a principal diferença entre a cláusula WHERE e a cláusula HAVING?

Alternativas

A) A cláusula WHERE tem por finalidade filtrar linhas simples e a cláusula HAVING filtra grupo de linhas. Em uma consulta SQL não é permitido você utilizar essas 2 cláusulas na mesma instrução.

B) A cláusula WHERE tem por finalidade filtrar linhas simples e a cláusula HAVING também filtra linhas. Em uma consulta SQL é permitido você utilizar essas 2 cláusulas na mesma instrução.

C) A cláusula WHERE tem por finalidade filtrar grupo de linhas e a cláusula HAVING filtra linhas simples.

D) A cláusula WHERE tem por finalidade filtrar linhas simples e a cláusula HAVING filtra grupo de linhas. Em uma consulta SQL é permitido você utilizar essas 2 cláusulas na mesma instrução.

97%

E) A cláusula WHERE tem por finalidade filtrar grupo de linhas e a cláusula HAVING filtra linhas simples. Em uma consulta SQL não é permitido você utilizar essas 2 cláusulas na mesma instrução.

Explicação

Em SQL, a diferença central é o momento e o alvo do filtro:

  1. WHERE filtra linhas (registros) antes do agrupamento (antes do GROUP BY).

    • Ou seja, atua sobre dados “linha a linha”.
  2. HAVING filtra grupos depois do agrupamento (depois do GROUP BY).

    • Por isso, é a cláusula usada para impor condições sobre resultados agregados (ex.: COUNT(*) > 10, SUM(vendas) > 1000).
  3. É permitido usar WHERE e HAVING na mesma consulta, por exemplo:

    • WHERE restringe as linhas que entram no agrupamento;
    • HAVING restringe quais grupos (já agregados) permanecem no resultado.

Analisando as alternativas:

  • A erra ao dizer que não é permitido usar as duas na mesma instrução.
  • B erra ao dizer que HAVING “também filtra linhas” (ele filtra grupos/resultado agregado).
  • C e E invertem os papéis de WHERE e HAVING.
  • D descreve corretamente: WHERE filtra linhas e HAVING filtra grupos, e é permitido usar ambas.

Alternativa correta: (D).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.