← Questões de Banco de Dados

Banco de Dados · FGV · 2022

Questão comentada de Banco de Dados

No contexto do PostgreSQL, analise o comando SQL a seguir. select * from public."teste" offset 2 limit 1 Assinale o efeito das cláusulas OFFSET e LIMIT sobre a execução do comando acima.

Gabarito: A

No PostgreSQL, as cláusulas LIMIT e OFFSET servem para paginar resultados. Pense nelas como um filtro de “quantas linhas eu quero” e “a partir de qual linha eu começo a olhar”. O OFFSET pula as primeiras linhas do resultado, e o LIMIT define o máximo de linhas que será retornado. No comando da questão, `offset 2 limit 1` faz exatamente isso: ignora as duas primeiras linhas do conjunto de resultados e, depois disso, traz no máximo 1 linha. Se a consulta tiver mais linhas, elas continuam existindo, mas não aparecem nessa execução. Se tiver menos linhas do que o esperado, o PostgreSQL simplesmente devolve o que for possível. Esse uso é padrão em SQL e muito comum em paginação de telas e relatórios. A lógica é simples: primeiro você “anda” no resultado com OFFSET, depois “corta” o tamanho da amostra com LIMIT. Não há relação com tempo de execução, ordenação de colunas ou formatação do resultado. Por isso, o gabarito é a letra A: o comando pula as duas primeiras linhas e retorna, no máximo, uma linha. Em PostgreSQL, essa sintaxe é amplamente aceita, inclusive na forma clássica `LIMIT ... OFFSET ...` ou na forma usada na questão `OFFSET ... LIMIT ...`.

Continue treinando

Questões relacionadas