DevPath · Aprenda a programar ESPTEN

Filtragem avançada

DISTINCT e LIMIT / OFFSET

DISTINCT: valores únicos

DISTINCT elimina linhas duplicadas do resultado. É muito útil para saber quais valores distintos existem em uma coluna:

-- Todas as categorias existentes, sem repetir
SELECT DISTINCT categoria FROM produtos;

Se você seleciona várias colunas, DISTINCT atua sobre a combinação completa dessas colunas.

LIMIT: limitar o número de linhas

LIMIT n retorna no máximo n linhas. Combinado com ORDER BY serve para "os N primeiros":

-- Os 3 produtos mais caros
SELECT nome, preco FROM produtos
ORDER BY preco DESC
LIMIT 3;

OFFSET: pular linhas (paginação)

OFFSET m pula as primeiras m linhas antes de começar a retornar. Junto com LIMIT permite paginar resultados:

-- Página 2 (linhas 4 a 6) ordenando por preço ascendente
SELECT nome, preco FROM produtos
ORDER BY preco
LIMIT 3 OFFSET 3;

Para que LIMIT/OFFSET deem resultados previsíveis, acompanhe-os sempre de um ORDER BY. Sem ordem, o banco de dados pode retornar as linhas em qualquer ordem.

Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
← IN, BETWEEN, LIKE e IS NULLVer o módulo →