← Questões de Banco de Dados

Banco de Dados · FGV · 2023

Questão comentada de Banco de Dados

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:

Gabarito: E

No MySQL, a clausula LIMIT pode aparecer no formato LIMIT deslocamento, quantidade. Esse deslocamento indica quantas linhas voce deve pular antes de começar a exibir o resultado. Depois disso, o banco devolve apenas a quantidade pedida. E aqui tem um detalhe importante: ORDER BY 1 apenas diz que a ordenacao segue a primeira coluna do SELECT, mas nao muda a logica do LIMIT. No comando SELECT * FROM TESTE ORDER BY 1 LIMIT 5,2, o banco ordena as 10 linhas pela primeira coluna e, em seguida, pula 5 linhas. Se existem 10 linhas, as exibidas serao a 6a e a 7a. Ou seja, voce nao pega as cinco primeiras e nem começa na quinta: voce avanca cinco posicoes e mostra duas linhas. Esse comportamento e padrao do MySQL e de outros SGBDs que aceitam a sintaxe LIMIT offset, row_count. Em prova, a banca costuma cobrar exatamente essa leitura: primeiro o deslocamento, depois a quantidade. Parece detalhe, mas e aquele detalhe que derruba muita gente no susto.

Continue treinando

Questões relacionadas