Questão de Banco de DadosSQL
- Banca:
- CESPE / CEBRASPE
- Órgão:
- TCE-RN
- Ano:
- 2026
- Cargo:
- Auditor de Controle Externo - Especialidade: Tecnologia da Informação
- Nível:
- Superior
- Modalidade:
- Certo ou Errado
- Código:
- CFP-149973-064
contratos_cdc, que contém múltiplas versões de registros ao longo do tempo. A tabela contratos_cdc tem as colunas a seguir.•
id_contrato (identificador do contrato);•
valor (valor do contrato);•
status (situação do contrato);•
data_atualizacao (timestamp da alteração).Um auditor do referido tribunal deseja realizar a seguinte consulta SQL.
1 SELECT id_contrato, valor, status
2 FROM (
3 SELECT *,
4 ROW_NUMBER() OVER (
5 PARTITION BY id_contrato
6 ORDER BY data_atualizacao DESC
7 ) AS rn
8 FROM contratos_cdc
9 ) t
10 WHERE rn = 1A partir das informações apresentadas e do trecho de código SQL precedente, julgue os itens a seguir.
No que concerne à manipulação de dados em larga escala e à organização de consultas SQL, a utilização da CTE (common table expression) apresentada a seguir para encapsular a lógica de ranking é semanticamente equivalente à consulta SQL apresentada, pois ambas as abordagens produzem o mesmo resultado lógico ao isolar a versão mais recente de cada contrato, sob a premissa de que a coluna
data_atualizacao permita uma ordenação unívoca para cada id_contrato.1 WITH contratos_rankeados AS (
2 SELECT *,
3 ROW_NUMBER() OVER (
4 PARTITION BY id_contrato
5 ORDER BY data_atualizacao DESC
6 ) AS rn
7 FROM contratos_cdc
8 )
9 SELECT id_contrato, valor, status
10 FROM contratos_rankeados
11 WHERE rn = 1
