Boa noite, eu não consegui entender como o limit ajuda na busca com o número aleatório na tabela de cliente.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa noite, eu não consegui entender como o limit ajuda na busca com o número aleatório na tabela de cliente.
Oi, Marcos! Tudo bem?
Desde já, peço desculpas por demorar a te responder.
O comando LIMIT é utilizado para limitar a quantidade de registros que serão retornados em uma consulta, observe o comando abaixo:
SELECT * FROM tabela_de_clientes
LIMIT 10;Por meio do SELECT acima e do uso do LIMIT, limitamos a quantidade de registros de tabela_de_clientes que aparecerá na visualização — neste caso, utilizamos o valor 10 como limite, o que significa dizer que serão apresentados apenas 10 clientes.
Agora, note outro comando:
SELECT * FROM tabela_de_clientes
LIMIT 10, 1;Além do número 10, adicionamos uma vírgula e o número 1. Com isso, estamos dizendo que, na consulta, só deverá aparecer o cliente posterior aos 10 primeiros registros da tabela (ou seja, o cliente de posição 11).
Dessa maneira, conseguimos, a partir de qualquer valor de posição, pegar um registro específico de tabela_de_clientes.
O número 10 representado nos exemplos acima faz referência à variável num_aleatorio, a qual criamos durante a aula. Caso o número retornado pela função seja igual a 5, por exemplo, significa dizer que queremos visualizar o cliente da linha 5 da nossa tabela.
No entanto, como vimos anteriormente, ao usar LIMIT numero_qualquer, 1, temos como retorno o registro posterior às linhas delimitadas por numero_qualquer. Portanto, se usássemos diretamente o número 5, iríamos receber o cliente da linha 6!
Para resolver esse problema, precisa-se diminuir de 1 o valor de num_aleatorio. Com isso, ele passará de 5 para 4, chegando no seguinte comando:
SELECT CPF INTO vRetorno FROM tabela_de_clientes
LIMIT 4, 1 # 4 representa a variável num_aleatorioInicialmente, a consulta irá limitar a visualização para somente os 4 primeiros clientes de tabela_de_clentes. Como adicionamos uma vírgula e 1, será retornado, na realidade, o cliente posterior aos 4 primeiros, isto é, o cliente de número 5 — justamente o que queríamos desde o início!
Marcos, espero que tenha ficado mais claro o uso do LIMIT neste cenário de obtenção de um cliente de forma aleatória. Caso surjam novas dúvidas, fico à disposição!
Abraços!