Bê-á-bá do SQL: Usando ORDER BY e LIMIT

Bê-á-bá do SQL: Usando ORDER BY e LIMIT

Inscreva-se

Abordamos dados e análises dentro das empresas.

Receba novos artigos por e-mail


Compartilhe

Material de apoio:
1. Antes de iniciar esse tutorial, acesse a introdução da série de tutoriais clicando aqui, siga o passo a passo para usar a nossa plataforma interativa de SQL e pratique em tempo real
2. Participe do nosso canal do slack, onde você poderá tirar dúvidas sobre os tutoriais e também acessar conteúdo exclusivo do universo de dados, clicando aqui

Confira também os posts anteriores da série:
1. Introdução
2. Estrutura do SELECT
3. Filtrando valores com o WHERE
4. Agrupando valores com o GROUP BY

Os comandos ORDER BY e LIMIT acontecem no final da query e servem para alterar o resultado final dela, ordenando os valores e limitando-os, consecutivamente.

ORDER BY

A sintaxe básica do ORDER BY é a seguinte:

SELECT coluna1, SUM(coluna2)
FROM nome_tabela
WHERE coluna1 = condicao
GROUP BY coluna1
ORDER BY coluna2

Para exemplificar vamos considerar a tabela “pessoas” da nossa base de dados:

O atributo alt desta imagem está vazio. O nome do arquivo é image-1.png

Ordenando valores em ordem ascendente

SELECT *
FROM pessoas
ORDER BY idade ASC

Por padrão o ORDER BY irá ordenar os valores de forma ascendente sem que seja necessário mais nenhum comando, porém também pode ser usada a cláusula ASC (ascendente) ao final da sentença para indicar a ordenação. No exemplo acima, estamos selecionando todas as colunas da tabela “pessoas” e ordenando-as pela coluna “idade”:

Ordenando valores em ordem descendente

SELECT *
FROM pessoas
ORDER BY idade DESC

Ao indicar ao final da sentença a cláusula DESC a ordenação será feita de forma descendente (do maior para o menor):

Ordenando valores por várias colunas

SELECT *
FROM pessoas
ORDER BY idade, id

A query acima seleciona todas as colunas da tabela “pessoas”, ordenando-as pelas colunas “idade” e “id”. Isso significa que a primeira ordenação será por idade, porém se houver mais de uma pessoa com a mesma idade, então essas pessoas serão ordenadas pela coluna “id”:

Também é possível ordenar a query por várias colunas dando ordens diferentes para cada uma:

SELECT *
FROM pessoas
ORDER BY idade DESC, id ASC

Na query acima estamos ordenando os resultados por idade de forma descendente e por id de forma ascendente:

LIMIT

O comando LIMIT tem a função de limitar as linhas que serão exibidas no resultado da query.

SELECT *
FROM pessoas
LIMIT 2

No código acima, ao usar o comando “LIMIT 2” estamos indicando que somente as duas primeiras linhas devem aparecer no resultado final da query. Note que as linhas trazidas no resultado correspondem aos ids 1 e 2:

Ao usar o comando LIMIT combinado com o comando OFFSET é possível pular as primeiras linhas que irão aparecer no resultado:

SELECT *
FROM pessoas
LIMIT 2 OFFSET 4

No caso da query acima estamos indicando que retornem apenas duas linhas a partir da linha 4. Neste caso os ids que retornam são 5 e 6, pois foram puladas todas as linhas até a quarta:

Não deixe de conferir os post anteriores da nossa série de tutoriais, e fique de olho no nosso blog para acompanhar os próximos!

E para testar a plataforma Kondado gratuitamente por 14 dias, basta clicar no link abaixo:

Publicado em 2020-11-17