Boa noite, eu não consegui entender como o limit ajuda na busca com o número aleatório na tabela de cliente.
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_aleatorio
Inicialmente, 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!