Limite SQL

Limite SQL
Les clauses de limite et de décalage dans SQL vous permettent de limiter le nombre d'enregistrements qui sont renvoyés par une instruction SELECT.

Cet article envisagera d'utiliser les clauses de limite et de décalage dans SQL.

NOTE: Il est bon de se rappeler que la limite SQL et les clauses de décalage ne font pas partie de la norme ANSI SQL. Cependant, il est largement adopté par les principaux moteurs de base de données.

Syntaxe

La syntaxe des clauses limite et décalée est comme indiqué ci-dessous:

SÉLECTIONNER
COL1, COL2,… COLN
DEPUIS
NOM DE LA TABLE
Ordre par colonnel_name
Débit de décompte de limite;

La valeur limite déterminera le nombre de lignes / enregistrements renvoyés de la requête.

La valeur de décalage vous permet de sauter des lignes spécifiques avant de commencer à récupérer pour les enregistrements correspondants.

NOTE: La valeur de décalage n'est pas requise. En cas de manque, la requête réduira les enregistrements de la première ligne.

Exemple
Supposons que vous avez un exemple de table et de données comme indiqué dans la requête ci-dessous:

Créer des employés de table (
Clé primaire en série ID,
full_name varchar (255),
Email Varchar (255),
Département Varchar (100),
Date start_date,
bool actif,
Catégorie Varchar (50)
));
Insérer dans les employés (full_name, e-mail, département, start_date, actif, catégorie)
VALEURS
('Meghan Edwards', 'Edwards @ Exemple.com ',' Game Development ',' 2016-06-22 ', True,' Dev-G1 '),
('Sam Davis', 'davios @ am.com ',' Game Development ',' 2014-01-04 ', false,' dev-g1 '),
('Taylor Miller', 'Miller @ Tayl.org ',' game Development ',' 2019-10-06 ', true,' dev-g1 '),
('Wilson Smitty', 'Smitty_wilson @ Exemple.net ',' database Developer ',' 2016-12-23 ', True,' Dev-db1 '),
('Barbara Moore', 'Moore @ Mail.à ',' Database Developer ',' 2015-12-23 ', True,' Dev-DB1 '),
('Raj Chan', 'Chan.raj @ courrier.net ',' database Developer ',' 2017-12-23 ', false,' dev-db1 '),
('Susan Brown', 'Brown @ Susan.IO ',' DevOps Engineer ',' 2011-12-23 ', True,' Dev-Ops1 '),
('Marial Anderson', 'Anderson @ Exemple.org ',' DevOps Engineer ',' 2015-12-23 ', True,' Dev-OPS1 '),
('Nancy Thomas', 'Thomas_Nancy @ Exampl.net ',' DevOps Engineer ',' 2014-12-23 ', false,' Dev-OPS1 ');

Vous pouvez afficher tous les enregistrements du tableau à l'aide de la requête SELECT comme indiqué:

Sélectionner * parmi les employés;

Cela devrait renvoyer toutes les lignes comme indiqué:

Supposons que nous voulons les 3 premiers enregistrements. Pour cela, nous pouvons utiliser la clause limite comme:

Sélectionner * parmi les employés limiter 3;

La requête ci-dessus doit retourner les trois premières lignes à partir de 1. La sortie est comme indiqué:

Et si vous voulez récupérer les trois éléments suivants? Nous pouvons utiliser la clause limite et décalage comme illustré ci-dessous:

Sélectionner * parmi les employés limiter 3 Offset 3;

La requête ci-dessus retournera trois éléments à partir de la quatrième rangée (inclusive). Si vous avez un ID pour vos lignes, la sortie doit être descriptive comme indiqué:

Terminaison

Comme illustré dans cet article, les clauses de limite et de décalage sont une caractéristique de sécurité qui vous empêche de récupérer des milliers, voire des millions, des enregistrements dans une seule requête. Par conséquent, il est bon d'utiliser cette fonctionnalité pour une pagination simple et une jolie sortie.