Nas duas questões a seguir, considere a tabela relacional T cuja instância é exibida abaixo.
A instalação está configurada para o tratamento de valores NULL como valores desconhecidos (unknown).
Tabela T
A
B
C
3
6
10
3
6
10
1
NULL
10
3
6
NULL
3
6
5
Considere uma tabela intitulada TESTE, criada numa instalação MySQL, cuja instância possui dez linhas, e analise o comando a seguir.
SELECT * FROM TESTE ORDER BY 1 LIMIT 5,2
Na execução desse comando, é correto afirmar que, do conjunto de linhas coletadas no resultado, somente serão exibidas:
Aas cinco primeiras linhas e as duas últimas linhas;
Bcinco linhas a partir da segunda linha;
Ccinco linhas a partir da terceira linha;
Dduas linhas a partir da quinta linha;
Eduas linhas a partir da sexta linha.
Revelar gabarito e comentário▾
GabaritoC — cinco linhas a partir da terceira linha;
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áusula LIMIT e OFFSET no MySQL
Gabarito: letra E. O comando SELECT * FROM TESTE ORDER BY 1 LIMIT 5,2 exibe duas linhas a partir da sexta linha do resultado ordenado. A sintaxe LIMIT offset, quantidade faz com que o MySQL pule as 5 primeiras linhas (offset = 5) e retorne as próximas 2 linhas (quantidade = 2). Como a ordenação é pela primeira coluna (ORDER BY 1), as linhas são ordenadas antes da aplicação do limite.
A cláusula LIMIT no MySQL é usada para restringir o número de linhas retornadas por uma consulta. Sua sintaxe mais comum é LIMIT quantidade, que retorna as primeiras quantidade linhas. Porém, quando usamos dois argumentos — LIMIT offset, quantidade — o primeiro número indica quantas linhas devem ser puladas (offset) e o segundo indica quantas linhas devem ser retornadas a partir desse ponto. É importante notar que o offset é baseado em zero: LIMIT 0, 2 retorna as duas primeiras linhas, LIMIT 1, 2 retorna as linhas 2 e 3, e assim por diante.
No comando da questão, LIMIT 5,2 significa que as 5 primeiras linhas do resultado ordenado são descartadas, e as 2 linhas seguintes (a 6ª e a 7ª) são exibidas. A tabela TESTE possui 10 linhas, então há linhas suficientes para que o comando retorne as 2 linhas solicitadas. A ordenação por ORDER BY 1 é feita antes da aplicação do LIMIT, garantindo que o resultado seja previsível.
A pegadinha desta questão está na interpretação da sintaxe LIMIT offset, quantidade. Muitos candidatos confundem o primeiro número com a quantidade de linhas a retornar, marcando a alternativa C (cinco linhas a partir da terceira linha). No entanto, o primeiro número é o offset (quantas linhas pular), e o segundo é a quantidade de linhas a retornar. Portanto, LIMIT 5,2 retorna 2 linhas, não 5.
NÃO CAIA NESSA!
A banca tenta fazer o candidato inverter os argumentos do LIMIT. O primeiro número é o offset (linhas a pular), o segundo é a quantidade (linhas a retornar). Aqui, LIMIT 5,2 significa pular 5 e retornar 2 — não o contrário. Fique atento: a ordem é sempre LIMIT offset, quantidade.
1ORDER BY 1 ordena
2Pula 5 (offset)
3Retorna 2 (quantidade)
4Exibe 6ª e 7ª linhas
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que serão exibidas as cinco primeiras linhas e as duas últimas linhas. Isso não corresponde ao comportamento do LIMIT 5,2, que não retorna as primeiras linhas nem as últimas, mas sim um intervalo específico após o offset. O comando não tem nenhuma lógica de "primeiras e últimas" — ele simplesmente pula 5 e retorna 2.
Alternativa B — ❌ Incorreta
Diz que serão exibidas cinco linhas a partir da segunda linha. Isso confunde o offset com a quantidade. O LIMIT 5,2 não retorna 5 linhas; retorna apenas 2. Além disso, o offset é 5, não 1 (que seria a segunda linha). A alternativa mistura os dois números de forma incorreta.
Alternativa C — ❌ Incorreta
Afirma que serão exibidas cinco linhas a partir da terceira linha. Aqui, o candidato interpreta o primeiro número (5) como quantidade de linhas a retornar, e o segundo (2) como offset. Mas a ordem correta é LIMIT offset, quantidade, então o offset é 5 e a quantidade é 2. Portanto, não são 5 linhas, e o ponto de partida não é a terceira linha.
Alternativa D — ❌ Incorreta
Diz que serão exibidas duas linhas a partir da quinta linha. O erro está no offset: o comando pula 5 linhas, então a primeira linha retornada é a 6ª, não a 5ª. O offset é baseado em zero, mas a contagem das linhas no resultado é a partir de 1. LIMIT 5,2 pula as linhas 1 a 5 e retorna as linhas 6 e 7.
Alternativa E — ✅ Correta ⟵ GABARITO
Esta é a alternativa correta. O comando LIMIT 5,2 pula as 5 primeiras linhas do resultado ordenado e retorna as próximas 2 linhas, ou seja, a 6ª e a 7ª linha. A ordenação por ORDER BY 1 é aplicada antes do limite, garantindo que o resultado seja consistente. Como a tabela TESTE tem 10 linhas, há linhas suficientes para retornar as 2 solicitadas.