Em uma unidade da Polícia Penal, a área de gestão de pessoas...

Próximas questões
Com base no mesmo assunto
Q4233117 Banco de Dados
Em uma unidade da Polícia Penal, a área de gestão de pessoas precisa identificar os servidores que já têm idade igual ou superior a 60 anos, a fim de elaborar relatórios administrativos relacionados a critérios etários. As informações estão armazenadas em uma tabela chamada servidores, que contém as colunas nome, cargo, idade e lotação. Considerando uma consulta SQL para retornar apenas os registros que atendam a essa condição, assinale a alternativa que apresenta a cláusula utilizada para filtrar os dados.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Fundamento decisivo: A alternativa correta dependia de identificar a cláusula SQL usada para filtrar registros por uma condição.

Tema central: Filtragem de linhas SQL
Análise das alternativas
A
Errada
GROUP BY é cláusula de agrupamento de registros por coluna(s). O pedido da questão é filtro simples de linhas por condição etária, e agrupamento não substitui essa função.
B
Certa
A alternativa B está certa porque WHERE é a cláusula usada para restringir os registros retornados por uma consulta conforme uma condição lógica. Para selecionar apenas os servidores com idade maior ou igual a 60, o critério técnico aplicável é o de filtragem de linhas da tabela.
C
Errada
ORDER BY serve para ordenar o resultado da consulta. Ordenar não restringe quais registros serão retornados, por isso não atende ao comando de filtrar servidores com idade >= 60.
D
Errada
JOIN é usado para combinar dados de tabelas diferentes. O enunciado trata de uma única tabela, servidores, e da aplicação de uma condição de seleção, não de junção entre tabelas.
E
Errada
HAVING TABLE não corresponde à cláusula adequada nem à forma sintática padrão para esse caso.
Pegadinha da questão
A confusão real era trocar filtragem de linhas por outras operações SQL, especialmente lembrar de HAVING como cláusula de filtro e esquecer que, no caso sem agrupamento, a cláusula correta é WHERE; além disso, 'HAVING TABLE' induz erro por parecer sintaxe válida.
Dica para questões semelhantes
  • Se o enunciado pedir para retornar apenas registros que satisfaçam uma condição em uma tabela, o critério inicial é WHERE.
  • Diferencie função da cláusula: WHERE filtra linhas, GROUP BY agrupa, ORDER BY ordena e JOIN combina tabelas.
  • Se não há agregação nem grupos no enunciado, não há base para preferir HAVING em vez de WHERE.

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

SELECT nome, cargo, idade, lotação FROM servidores WHERE idade >= 60;



WHERE: É a cláusula de restrição/filtragem de linhas. Ela avalia uma condição lógica (idade >= 60) e só retorna os registros que forem verdadeiros.

GROUP BY - vai retornar apenas o nome do primeiro com idade maior/igual a 60

ORDER BY - vai retornar todos os valores ordenados por ordem crescente/decrescente e não somente os de idade maior/igual a 60

JOIN - não faz sentido para a questão essa função

HAVING TABLE - usado com o GROUP BY, também excluirá resultados com idade maior/igual a 60

Clique para visualizar este comentário

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