Questão nº 97
Questão de Banco de Dados · CEBRASPE TCE MS 2025 SERVIDOR (nº 97)
Considerando uma tabela ALUNO com cem registros, a instrução `SELECT * FROM ALUNO LIMIT 20 OFFSET 90` apresentará os registros
- Ade 21 a 90.
- Bde 81 a 90.
- Cde 91 a 100. (alternativa correta)
- Dde 71 a 90.
- Ede 81 a 100.
Resposta comentada
Gabarito Alternativa C
O comando `LIMIT` define quantas linhas você quer ver, e o `OFFSET` define quantas linhas você vai pular antes de começar a mostrar. Pense no `OFFSET` como "pule as primeiras N linhas" e no `LIMIT` como "pegue as próximas M linhas". Aqui, pulamos 90 linhas (registros 1 a 90) e pegamos as próximas 20, mas como só existem 10 linhas após a 90ª, o banco retorna apenas essas 10 restantes (91 a 100).
(A) Incorreta: "de 21 a 90" inverte os conceitos: seria o resultado de `LIMIT 70 OFFSET 20` (pular 20 e pegar 70), não o que a instrução pede.
(B) Incorreta: "de 81 a 90" seria o resultado de `LIMIT 10 OFFSET 80` (pular 80 e pegar 10), não de pular 90 e pegar 20.
(C) Correta: O `OFFSET 90` descarta os 90 primeiros registros (1 a 90). O `LIMIT 20` pede 20 linhas, mas só restam 10 (91 a 100), então o banco retorna exatamente essas 10 linhas. A pegadinha da banca é tentar você a somar 90 + 20 = 110 e achar que virão 20 linhas, ignorando que a tabela tem apenas 100 registros.
(D) Incorreta: "de 71 a 90" seria o resultado de `LIMIT 20 OFFSET 70` (pular 70 e pegar 20), não de pular 90.
(E) Incorreta: "de 81 a 100" seria o resultado de `LIMIT 20 OFFSET 80` (pular 80 e pegar 20), que traria 20 linhas (81 a 100), mas o comando pula 90, não 80.
Fonte: CEBRASPE TCE MS 2025 SERVIDOR Auditor de Controle Externo - Área: Tecnologia da Informação. Reproduzida para fins de estudo.