Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — VUNESP 2024

Banco de DadosConsultas e Comandos em SQL
Código
vu212088
Banca
VUNESP
Órgão
Pref Osasco
Ano
2024
Cargo
Ana ( )
Suponha que, em uma consulta feita no Sistema Gerenciador de Banco de Dados PostgreSQL (14.4), não se deseja que sejam exibidos os 10 primeiros resultados obtidos e, além disso, que o número máximo de registros exibidos seja 50. A forma de se indicar tal requisito dentro do comando SELECT é inserir a sequência:
  1. ALIMIT START 10 OF 50
  2. BLIMIT OFFSET 50 (10)
  3. CLIMIT 10 OF 50 OFFSET
  4. DLIMIT IN 50 START 10
  5. ELIMIT 50 OFFSET 10
Revelar gabarito e comentário

GabaritoE — LIMIT 50 OFFSET 10

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Cláusulas LIMIT e OFFSET no PostgreSQL

Gabarito: letra E. Para pular os 10 primeiros registros e limitar a exibição a 50, o PostgreSQL usa LIMIT 50 OFFSET 10 — o LIMIT define o número máximo de linhas retornadas e o OFFSET indica quantas linhas serão ignoradas antes de começar a retornar. Essa é a sintaxe padrão do PostgreSQL e de outros SGBDs como MySQL e SQLite.

O comando SELECT no PostgreSQL aceita as cláusulas LIMIT e OFFSET para controlar a quantidade de linhas retornadas. O LIMIT é usado para restringir o número máximo de registros no resultado, enquanto o OFFSET é usado para pular um determinado número de linhas antes de iniciar a exibição. A ordem correta na sintaxe é LIMIT <quantidade> OFFSET <quantidade>, onde o valor do LIMIT vem primeiro e o do OFFSET em seguida.

Na prática, se uma consulta retorna 100 registros e você usa LIMIT 50 OFFSET 10, o banco de dados ignora os 10 primeiros e retorna os registros de 11 a 60, totalizando 50 linhas. Essa é uma forma comum de implementar paginação em aplicações, onde cada página mostra um número fixo de resultados e o OFFSET avança a posição inicial.

A pegadinha desta questão está na ordem dos parâmetros. Muitos candidatos confundem e acham que o OFFSET vem antes do LIMIT, ou que a sintaxe é LIMIT 10 OFFSET 50 (que pularia 50 e retornaria 10). A banca explora exatamente essa inversão, colocando os números em posições trocadas nas alternativas.

Guarde a regra: LIMIT primeiro (quantidade máxima), OFFSET depois (quantidade a pular). É esse critério que vai separar a alternativa correta das demais.

  1. 1LIMIT 50
  2. 2OFFSET 10
  3. 3Pula 10, retorna 50
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A sintaxe LIMIT START 10 OF 50 não existe no PostgreSQL. A palavra START não é uma cláusula válida, e OF também não faz parte da sintaxe de limitação de resultados. O correto seria usar LIMIT e OFFSET como palavras-chave separadas.

Alternativa B — ❌ Incorreta

LIMIT OFFSET 50 (10) está completamente errada. A cláusula OFFSET não recebe parênteses, e a ordem está invertida — o LIMIT deveria vir antes do OFFSET. Além disso, os valores estão trocados: o LIMIT deveria ser 50 e o OFFSET 10.

Alternativa C — ❌ Incorreta

LIMIT 10 OF 50 OFFSET mistura palavras que não pertencem à sintaxe. A palavra OF não existe, e o OFFSET está sem valor. A ordem correta seria LIMIT 50 OFFSET 10, com os valores na posição certa.

Alternativa D — ❌ Incorreta

LIMIT IN 50 START 10 usa IN e START, que não são cláusulas válidas para limitação de resultados no PostgreSQL. A sintaxe correta é apenas LIMIT seguido do número máximo e OFFSET seguido do número a pular.

Alternativa E — ✅ Correta ⟵ GABARITO

LIMIT 50 OFFSET 10 é exatamente a sintaxe correta. O LIMIT 50 define que no máximo 50 registros serão retornados, e o OFFSET 10 faz com que os 10 primeiros resultados sejam ignorados. Essa é a forma padrão de paginação no PostgreSQL.

PEGA ESSA DICA!

Para não errar a ordem, lembre-se da frase: "Limite O que vem depois". O LIMIT sempre vem primeiro, seguido do OFFSET. Na prova, desconfie de alternativas que usam palavras como START, OF, IN — elas não fazem parte da sintaxe de paginação.

Gabarito: letra E

Link permanente: /questoes/vu212088