Alternativa C - I, II e III.
Análise da Questão
A questão aborda as principais cláusulas de filtragem e agrupamento em linguagens de banco de dados, especificamente SQL. Para responder corretamente, precisamos entender a função de cada item apresentado no contexto de uma consulta que envolve seleção e agrupamento de dados.
Função das Cláusulas
Cada item listado desempenha um papel distinto no processo de construção de uma consulta SQL complexa:
- Cláusula
GROUP BY (Item I): O enunciado menciona explicitamente a necessidade de "agrupando por departamento". Esta cláusula é fundamental para organizar os registros em grupos baseados em colunas específicas (neste caso, o departamento). Sem ela, não há agrupamento. - Cláusula
WHERE (Item III): O texto solicita que sejam trazidos "apenas registros de pessoas que tenham mestrado ou falem inglês". O WHERE é utilizado para filtrar linhas individuais antes que qualquer agrupamento ocorra. Ele restringe quais registros serão considerados na consulta. - Cláusula
HAVING (Item II): Embora o texto não cite um exemplo específico de filtragem de grupos (ex: "apenas departamentos com mais de 5 pessoas"), esta cláusula é a contraparte do WHERE para operações de agrupamento. Ela permite filtrar os grupos resultantes após o GROUP BY ter sido aplicado. Em consultas de análise de dados, é muito comum utilizar todas as três juntas.
Lógica de Eliminação
Podemos verificar a correção da alternativa C eliminando as outras opções com base no enunciado:
- Alternativa A (III apenas): Incorreta, pois ignora a necessidade de agrupamento (
GROUP BY) citada no texto. - Alternativa B (I e II apenas): Incorreta, pois ignora o filtro de registros individuais (
WHERE) necessário para selecionar pessoas com mestrado ou inglês. - Alternativa D (I apenas): Incorreta, pois ignora o filtro de registro (
WHERE) necessário para a restrição de pessoas. - Alternativa E (II e III apenas): Incorreta, pois ignora o agrupamento (
GROUP BY) necessário para a organização por departamento.
Portanto, a única alternativa que contempla todas as estratégias possíveis e necessárias para atender aos requisitos de filtragem e agrupamento descritos é a que lista todos os itens.
Conclusão: Todas as cláusulas listadas são estratégias válidas e complementares para construir uma consulta SQL robusta que envolva seleção de dados, filtragem e agrupamento.