Questão nº 84

Questão de Engenharia de Dados · FCC PMSP Analista TIC 2025 (nº 84)

FCC2025Analista de Planejamento e Desenvolvimento Organizacional - Tecnologia da Informação e ComunicaçãoEngenharia de Dados
Gabarito: Aver comentário ↓

A Secretaria Municipal de Mobilidade e Trânsito de uma Prefeitura solicitou um estudo para determinar a melhor rota entre dois bairros (A e B) considerando diversos fatores, tais como distância, tempo estimado de viagem, condições da estrada e custo do combustível. Os dados estão nas duas tabelas seguintes de um Banco de Dados Relacional Oracle:

  • Bairros: Contêm informações sobre cada bairro, incluindo um ID único, nome e coordenadas geográficas.
  • Rotas: Contêm informações sobre as rotas existentes entre os bairros, como ID da rota, bairro de origem, bairro de destino, distância, tempo estimado, condição da estrada e custo estimado.

Em uma consulta utilizando INNER JOIN, a expressão SQL correta para encontrar a rota mais eficiente entre dois bairros específicos, com base nos critérios definidos pelo órgão, é

Resposta comentada

Gabarito Alternativa A

O INNER JOIN é uma operação em bancos de dados que combina linhas de duas ou mais tabelas, mostrando apenas os registros que possuem valores correspondentes em uma coluna comum entre elas.

(A) Correta: Esta alternativa utiliza o INNER JOIN para conectar a tabela `ROTAS` com a tabela `BAIRROS` através do `id_bairro` de origem, permitindo filtrar as rotas que partem do 'Bairro A'. Em seguida, filtra as rotas que chegam ao 'Bairro B' (assumindo que a coluna `r.bairro_destino` na tabela `ROTAS` armazena o nome do bairro de destino ou um valor comparável). Por fim, ordena os resultados pela distância e tempo estimado, buscando a rota mais eficiente.
(B) Incorreta: Apresenta um erro de sintaxe grave (`SELECT INNER JOIN`) e não utiliza o `JOIN` corretamente para consultar o nome do bairro de origem na tabela `BAIRROS`, o que é pedido no problema.
(C) Incorreta: Embora utilize o INNER JOIN corretamente para a origem, esta consulta não especifica o bairro de destino ('Bairro B') e também não ordena os resultados pelos critérios de eficiência, não resolvendo completamente o problema. Armadilha: Esta alternativa é tentadora porque a sintaxe do `INNER JOIN` e a filtragem da origem estão corretas, mas ela falha em abordar o destino e a ordenação por eficiência, que são partes cruciais da questão.
(D) Incorreta: Contém múltiplos erros de sintaxe, como o uso incorreto de `MIN()` na cláusula `WHERE` sem `GROUP BY` e uma sintaxe completamente inválida para o `INNER JOIN`.
(E) Incorreta: Não especifica o bairro de destino ('Bairro B') e o uso de `MIN(r.distancia)` agrupado por `r.id_rota` não faz sentido para encontrar a rota mais curta entre dois bairros específicos, pois cada `id_rota` é único.

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.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho