Cláusula de limite PostGresql

Cláusula de limite PostGresql

Vamos discutir os meandros do uso da cláusula PostgreSQL Limit para limitar a saída a um valor especificado.

Embora a cláusula limite seja uma declaração opcional, é muito útil quando você não deseja que uma consulta retorne milhares e milhares de registros.

Uso básico

A cláusula de limite é bem direta. A sintaxe geral para a consulta é:

SELECT SELECT_LST FROM LIMITE DE TABELA Número | TODOS

O valor limite é um valor inteiro que especifica o limite de linha para a saída.

Por exemplo, se uma consulta retornar 100 registros e você define o limite como 5, apenas 5 linhas são exibidas.

OBSERVAÇÃO: A menos que a consulta retorne menos valores do que os especificados na cláusula de limite, o valor limite sempre define o valor de retorno.

Se o LIMITE O valor é definido como 0, a consulta retornará um conjunto vazio. Por outro lado, se nenhum valor for definido para o LIMITE Cláusula (nula), a consulta retornará os mesmos valores que não possui um LIMITE Cláusula especificada.

Exemplos de cláusula de limite PostGresql

Vamos ilustrar como usar o LIMITE Cláusula por exemplos.

Exemplo 1

O primeiro exemplo mostra um uso simples do LIMITE cláusula. Neste exemplo, usaremos o banco de dados SAKILA.

Considere a tabela de cinema; Podemos determinar o número de registros usando a consulta:

Selecione contagem (*) do filme;
contar
-------
1000
(1 linha)

Neste exemplo, a tabela contém 1000 registros. Despejar todos os registros pode não ser muito eficiente. Em vez disso, podemos limitar a saída a apenas 10 registros como:

Selecione Film_id, Title, Release_year, Classificação do Limite de Filme 10;

Este comando deve retornar informações filtradas, conforme mostrado na tabela abaixo:

Exemplo 2

Na maioria dos casos, ao limitar a saída, é bom encomendar por uma coluna específica. Fazer isso permite que você entenda os valores retornados.

Por exemplo, podemos encomendar a saída no exemplo anterior pelo filme_id.

Um exemplo de consulta está abaixo:

Selecione Film_id, Title, Release_year, classificação da Ordem de Filme por Film_id Limit 10;

Neste exemplo, os resultados são organizados por film_id em ordem ascendente-como o exemplo anterior, onde o resultado estava em ordem aleatória.

Exemplo 3

Há um amigo na cláusula de limite. A cláusula de deslocamento é bastante semelhante à cláusula limite, mas apenas pula o número especificado de linhas.

Por exemplo, para iniciar o resultado da linha 100, podemos definir o deslocamento como:

Selecione Film_id, Title, Release_year, classificação da Ordem de Filme por Film_id Offset 99;

Neste exemplo, o resultado começa a partir da 100ª linha para a frente.

Da mesma forma, é bom ordenar os resultados para seguir um pedido específico.

Exemplo 4

Você também pode usar as cláusulas de limite e compensação na mesma consulta. Por exemplo, considere a consulta abaixo:

Selecione Film_id, Título, Release_year, classificação da Ordem de Filme por Film_id Offset 3 Limit 10;

A ordem do Limite e deslocamento é irrelevante como o DESVIO é avaliado primeiro e depois o Cláusula de limite.

Exemplo 5

Como mencionado, você pode usar o limite 0, que não retorna registros. No entanto, ele retorna as colunas como:

Selecione * da ordem do filme por film_id Limit 0;

Exemplo 6

Você também pode usar o LIMITE cláusula em conjunto com o ORDENAR POR Para obter um número específico de últimos elementos.

Por exemplo, para obter os últimos 5 elementos em uma tabela, podemos definir o ORDENAR POR Cláusula a ser DESC e limite o valor para 5 como:

Selecione Film_id, Título, Release_year, Classificação da Ordem de Filme por Film_id Desc Limit 5;

Neste exemplo, devemos obter os 5 últimos elementos como:

Conclusão

Neste guia rápido, discutimos como o Limite e deslocamento Cláusula funciona. Também usamos alguns exemplos para ilustrar como você pode aproveitar seus recursos para obter resultados personalizados.