Questão nº 83
Questão de Engenharia de Dados · FCC PMSP Analista TIC 2025 (nº 83)
A equipe de Analistas de uma Prefeitura foi requisitada para providenciar e facilitar consultas aos processos municipais que se encontram registrados na tabela Processos em um Banco de Dados Relacional, com a seguinte estrutura:
id(INT): Identificador único do processonumero_processo(VARCHAR): Número do processodescricao(VARCHAR): Descrição do processodata_inicio(DATE): Data de início do processostatus(VARCHAR): Status atual do processo (ex: 'Em andamento', 'Concluído', 'Pendente')responsável(VARCHAR): Nome do responsável pelo processo
A consulta SQL correta que retorna todos os processos que estão 'Em andamento' e foram iniciados no ano de 2023, ordenados pela data de início em ordem crescente, é
- A`SELECT * FROM processos WHERE descricao = 'Em andamento' AND YEAR(data_inicio) = 2023 ORDER BY numero_processo ASC;`
- B`SELECT * FROM processos WHERE status = 'Em andamento' AND YEAR(data_inicio) = 2023 ORDER BY data_inicio ASC;` (alternativa correta)
- C`SELECT * FROM processos WHERE status = 'Em andamento' AND YEAR(data_inicio) = 2023 ORDER BY responsavel ASC;`
- D`SELECT * FROM processos WHERE processo = 'Em andamento' AND data_inicio = 2023 ORDER BY data_inicio ASC;`
- E`SELECT * FROM processos WHERE status = 'Em andamento' AND data_inicio = 2023 ORDER BY descricao ASC;`
Resposta comentada
Gabarito Alternativa B
Para filtrar dados em um banco de dados, usamos a cláusula WHERE para definir as condições, e a cláusula ORDER BY para organizar os resultados. Funções como YEAR() são usadas para extrair partes de datas, como o ano.
- (A) Incorreta: A condição
descricao = 'Em andamento'está errada, pois o status é armazenado na colunastatus, não emdescricao. A ordenação pornumero_processotambém não atende ao requisito de ordenar pela data de início. - (B) Correta: A condição
status = 'Em andamento'filtra corretamente pelo status. A condiçãoYEAR(data_inicio) = 2023extrai o ano da data de início e compara com 2023. A cláusulaORDER BY data_inicio ASCordena os resultados pela data de início em ordem crescente, atendendo a todos os requisitos. - (C) Incorreta: Embora as condições
WHEREestejam corretas, a ordenação porresponsavelnão atende ao requisito de ordenar pela data de início. - (D) Incorreta: A condição
processo = 'Em andamento'está errada, pois não existe uma coluna chamadaprocesso; o correto seriastatus. A condiçãodata_inicio = 2023é uma pegadinha comum: não se pode comparar diretamente uma data completa com um número inteiro representando um ano; é preciso usar uma função comoYEAR()ou um intervalo de datas. - (E) Incorreta: A condição
data_inicio = 2023está incorreta, pois não se compara uma data diretamente com um ano. A ordenação pordescricaotambém não atende ao requisito de ordenar pela data de início.
Fonte: FCC PMSP Analista TIC 2025 Analista de Planejamento e Desenvolvimento Organizacional - Tecnologia da Informação e Comunicação (Caderno Tipo 001). Reproduzida para fins de estudo.