Relacione adequadamente as cláusulas SQL às suas respectivas funções: 1.GROUP BY 2.HAVING 3. SELECT 4. WHERE ( ) Seleciona colunas específicas em uma tabela. ( ) Filtra os dados de acordo com uma condição. ( ) Agrupa resultados com base em colunas específicas. ( ) Filtra agrupamentos após a agregação. A sequência está correta em
- A)1, 2, 3, 4.
Errada, porque começa com GROUP BY e HAVING, mas a primeira função descrita é do SELECT, não da cláusula de agrupamento.
- B)3, 4, 1, 2.
Certa, pois relaciona SELECT, WHERE, GROUP BY e HAVING exatamente com suas funções no enunciado.
- C)3, 1, 4, 2.
Errada, porque troca a posição de WHERE e GROUP BY, confundindo filtragem de linhas com agrupamento.
- D)4, 3, 2, 1.
Errada, pois inverte praticamente todas as funções, sem respeitar a lógica básica das cláusulas SQL.
Gabarito: B
Em SQL, cada cláusula tem uma função bem marcada, e a banca adora trocar essas peças para ver se você conhece a ordem do jogo. O SELECT escolhe quais colunas serão exibidas, então ele é o item ligado a “seleciona colunas específicas em uma tabela”. Já o WHERE serve para filtrar linhas antes da agregação, isto é, ele separa os registros que entram na conta, como um porteiro criterioso. Depois vem o GROUP BY, que organiza os dados em grupos com base em uma ou mais colunas. É ele que permite calcular somas, médias e contagens por categoria, como “vendas por vendedor” ou “notas por turma”. E, quando a filtragem acontece depois da agregação, entra o HAVING, que filtra grupos já formados, algo que o WHERE não faz. Por isso, a sequência correta é 3, 4, 1, 2: SELECT, WHERE, GROUP BY e HAVING. O gabarito B está certo porque cada função foi associada ao comando correspondente na ordem exata apresentada no enunciado. Em prova, pense assim: WHERE filtra linhas, HAVING filtra grupos. Essa é a dupla mais cobrada e mais confundida.