Postgresql limite les lignes

Postgresql limite les lignes
PostgreSQL traite de nombreuses fonctionnalités concernant le stockage de données et l'affichage à l'utilisateur. L'affichage des données limitées de la base de données est nécessaire dans le cas des problèmes de sécurité si l'authentification des utilisateurs est douteuse ou dans le cas d'une perte de données. Comme nous savons que les données sont présentes sous forme de volumes. Donc, pour réduire la vue des tables à l'utilisateur, nous devons limiter les lignes en les spécifiant. La clause postgresql «limite» est une clause d'option de l'instruction «SELECT» qui peut être utilisée avec d'autres clauses comme «liens», «décalage», etc. Chacun d'eux fera partie de notre discussion dans ce contenu. Commençons par la syntaxe simple de la clause limite. Sélectionnez * dans la ligne de la table de la table par la limite d'expression

Et dans le cas de «décalage»:

SELECT * From Table-Name Limit Row Row Offset 'Row to Skip';

Clause de limite simple

Se diriger vers des exemples du sujet en discussion. Considérez une table nommée «plats». Le contenu de la table jusqu'à 3 lignes dès le début doit être affiché sous forme de sortie. Et cette sélection est effectuée en triant les données en lignes selon la colonne ID. 'Limite' est le mot-clé utilisé pour contrôler la vue créée pour l'utilisateur dans le tableau. Tout d'abord, nous afficherons tout le contenu de la table «Duiss» en utilisant une commande SELECT

>> sélectionner * dans les plats;

Nous allons maintenant appliquer la requête pour afficher les lignes jusqu'à 3rd identifiant.

>> Sélectionner * dans les plats Commandez par ID Limit 3;

À travers le SNAP, vous pouvez voir la sortie dans laquelle les deux dernières lignes sont déduites en raison de la contrainte limite appliquée au tableau.

Clause limite avec une clause de décalage

Le deuxième exemple implique l'utilisation de «décalage» avec le mot-clé «limite». Cette clause saute / saute les lignes du numéro de décalage 'nth'. La différence entre la limite et la clause de décalage est que la limite compte le nombre auquel nous voulons afficher les données, tandis que le décalage supprime cette ligne ou ses lignes particulières de la table en fournissant le numéro de décalage dans la commande. Nous allons maintenant appliquer les deux clauses à la requête, nous obtenons donc la sortie souhaitée.

>> Sélectionner * dans les plats Commandez par ID Limit 3 Offset 1;

La commande ci-dessus montre que la limite «3» est utilisée, ce qui signifie que le tableau résultant ne contiendra que 3 lignes dans le tableau, et le décalage «1» signifie que la première ligne sera déduite de la sortie. Par conséquent, à partir de 5, seules trois lignes sont affichées en raison de la limite et du décalage.

Utilisation de la clause limite avec la clause d'ordre

En plus de la limite, nous pouvons également utiliser la clause de commande pour afficher les données de la table. Cela fonctionnera pour que tout le contenu soit organisé dans une commande spécifiée dans la requête. Ensuite, la partie limite sera considérée comme exécutée. Regardons.

>> Sélectionner * dans les plats Commandez par type dec limite 4;

Cette requête montre que le résultat est d'abord organisé en suivant la colonne spécifiée «type». Ainsi, une fois les 5 lignes disposées en face de l'ordre alphabétique du «type», les 4 premières lignes sont affichées.

Limiter comme nul

Si nous spécifions la clause «limite» comme nul, elle n'applique aucune modification sur la table. Ici, nous n'avons affiché que la colonne «ID» juste pour vérifier l'efficacité de la clause «limite».

>> Sélectionnez ID dans les plats limiter NULL;

Liens… aller en premier

Cet exemple est l'utilisation des «liens» dans la clause limite. Cela aide à obtenir toutes les données qui sont même utilisées à plusieurs reprises dans n'importe quelle colonne du tableau. Dans ce but spécifique, nous allons d'abord créer une nouvelle table qui a une seule colonne d'ID

>> Créer la table TBL1 (en int)

Puis insérez-y les valeurs.

>> insérer dans les valeurs TBL1 (1), (5), (4), (6);

Normalement, lorsque nous introduisons toutes les colonnes au moment de la création de table, mais ici dans le cas de nombres aléatoires. Une colonne nommée «Nombres» est créée. Cette fonction est une fonction intégrée pour générer les nombres aléatoires et chaque nombre de la colonne ID. À cette fin, nous utilisons une déclaration spécifique, «alter». Qui ajoutera une colonne dans le tableau comme indiqué ci-dessous dans l'image prise.

>> ALTER TABLE TBL1 Ajouter des numéros de colonne numérique par défaut Random ();

De même, nous avons ajouté quelques lignes supplémentaires à la table. Le tableau résultant est le suivant.

Maintenant sur ce tableau, nous appliquerons la clause des «liens» avec le facteur «Fetch-First».

Si nous récupérons les premières lignes de la table, ce qui se passe généralement, c'est que les pauses postgresql fonctionnant aux numéros de ligne fixe lorsqu'il arrive les mêmes nombres. Pour surmonter le problème, en plus des «liens», la clause «Ordre par» est également nécessaire car sans cela, le résultat sera assez aléatoire. Maintenant, appliquez cette condition sur la table avec une requête.

La partie «Fetch First» obtiendra tous les enregistrements organisés par ordre croissant par la colonne ID. Selon la commande, les 5 premières lignes seront sélectionnées.

Compensation avec les liens

Considérez une autre table nommée «Technologie». Ici, nous sommes intéressés à appliquer Fetch_first, les liens et les clauses de décalage dans une seule commande. Ces trois combinés et n'ont pas promis de retourner exactement le même nombre de lignes que vous avez spécifiées dans la requête.

>> Sélectionner * parmi la technologie;

Ici, nous voulons spécifier 2 lignes pour Fetch-First avec un décalage de 3. Ainsi, tout d'abord, toutes les données sont organisées par ordre décroissant, puis les trois premières lignes sont supprimées; Par conséquent, nous obtenons les deux dernières lignes commandées par la colonne du modèle du modèle. La syntaxe simple est:

>> Sélectionner * From Table Nom Order by Colonne Nom desc Fetch First (n) lignes avec des liens offset (n);

Limiter avec une sous-requête

Ceci est un exemple de limitation du nombre de lignes en utilisant une sous-questionnaire à la table nommée Worker. Vous pouvez appliquer toutes les commandes à une seule table. Mais pour expliquer différentes contraintes, nous devons avoir une variété de création de table, qui n'est pas encore disponible sur une seule table. Ainsi, la table des travailleurs a les attributs suivants.

>> sélectionner * parmi les travailleurs;

Une chose qui devrait être gardée à l'esprit est d'utiliser la clause de l'ordre par la clause avec la clause de liens lorsqu'elles se conviennent; Sinon, vous devez utiliser une sous-questionnaire si vous voulez des lignes spécifiques avec une autre colonne dans le tableau.

>> Sélectionner * à partir de (sélectionner * parmi l'ordre des travailleurs par la ville desc récupérer des 4 premières lignes avec des liens) comme sous-q ordre par ville desc, fname

Premièrement, la partie sous-redrangée est résolue.

Conclusion

'Postgresql limite Rows' est une solution pour masquer certaines données à l'utilisateur pour certaines raisons spécifiées. En utilisant «Offset», «Order Clause» et «liens» avec le concept Fetch-First est discuté pour réduire l'ambiguïté de les combiner tous dans une seule déclaration. J'espère que ce contenu vous aidera à gérer les tables avec la clause limite.