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 | TODOSO 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;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.