Fonction de lead SQL Server

Fonction de lead SQL Server
Dans cet article, nous vous guiderons à travers les principes fondamentaux de travailler avec la fonction Lead () dans SQL Server. Nous couvrirons ce que fait la fonction, sa syntaxe et des exemples pratiques de comment l'utiliser.

Fonction de lead SQL Server

La fonction de lead dans SQL Server est une fonction analytique qui vous permet d'accéder aux données à partir d'une ligne suivante dans le même ensemble de résultats sans.

La fonction vous permet d'accéder à une ligne à un décalage donné précédant la ligne actuelle. Par exemple, en utilisant la fonction de lead, vous pouvez trouver la ligne immédiatement après la ligne actuelle, la 10e ligne de la ligne actuelle, etc.

Cette fonction pousse les développeurs de base de données pour effectuer des comparaisons de lignes sans tâches complexes telles que la jointure, l'utilisation de vues, etc.

Syntaxe de fonction

Le suivant dépeint la syntaxe de la fonction lead () dans SQL Server:

Lead (scalar_expression [, offset], [par défaut])
Sur ([partition_by_clause] order_by_cause)

La liste suivante est les arguments pris en charge et leur fonctionnalité:

  1. Scalar_Expression - Cet argument désigne la valeur de retour en fonction du décalage défini. Cela peut être une expression de tout type qui renvoie une seule valeur. Cependant, la valeur du scalar_expression ne peut pas être une autre fonction analytique / fenêtre.
  2. Offset - Cela définit le nombre de lignes de la position de ligne actuelle La valeur récupérée. Par défaut, la fonction va récupérer l'adjectif immédiatement à la ligne actuelle. De même, la valeur du paramètre de décalage ne peut pas être une fonction analytique ou un entier négatif.
  3. par défaut - Ce paramètre définit la valeur par défaut si la valeur de décalage fournie est au-delà de la portée de la partition cible. Par défaut, la fonction renverra null.
  4. Partition par - La clause partition_by définit les règles qui divisent le résultat défini en différentes sections. La fonction est ensuite appliquée à chaque partition résultante.
  5. Ordre par - Ceci définit l'ordre logique dans lequel les lignes de chaque partition sont appliquées.

La fonction renvoie le type de données défini dans le scalar_expression. Si la valeur renvoyée est nul, la fonction renvoie nul.

Échantillons de données

Laissez-nous utiliser quelques exemples de bases de données pour illustrer le meilleur comment utiliser la fonction de lead. Tout d'abord, utilisez les requêtes comme indiqué ci-dessous:

Drop Base de données s'il existe un inventaire;
Créer l'inventaire de la base de données;
Utiliser l'inventaire;
Table de dépôt si existe des produits;
Créer des produits de table (
id int identité clé primaire pas nul,
Product_name Varchar (100),
Fabricant Varchar (50),
Quantité int null,
prix int défaut 0,
bit in_stock
));
Insérer dans les produits (Product_name, fabricant, quantité, prix, in_stock)
Valeurs («Apple iPad Air», «Apple», 100, 569.99, 1),
('Samsung Galaxy Z Flip 4', 'Samsung', 302, 1569.00, 1),
(«Sony Playstation 5», «Sony», 500, 499.99, 1),
('Samsung Galaxy Watch-5 Pro', 'Samsung', 600, 209 /.99, 1),
('Apple Watch Series 6', 'Apple', 459, 379.90, 1),
('Apple Airpods Pro', 'Apple', 200, 199.99, 1),
('55 "Classe S95B OLED 4K Smart TV ',' Samsung ', 900, 1999.90, 1),
('Odyssey Ark Quantum Mini-LED Curved Gaming Screen', 'Samsung', 50, 2999.90, 1);

Le tableau résultant est comme indiqué:

Exemple 1 - Utilisation de la fonction SQL Server Lead () sur un ensemble de résultats

L'exemple ci-dessous utilise la fonction Lead () pour retourner le prix du prochain produit.

sélectionner
Product_name,
fabricant,
quantité,
prix,
avance (prix,
1) sur (
Ordre par quantité)
depuis
des produits;

Tableau résultant:

Puisqu'il n'y a pas de ligne de la dernière colonne, la fonction renvoie nul.

Exemple 2 - Utilisation de la fonction SQL Server Lead () sur un ensemble de partition

Nous pouvons également récupérer le prochain produit dans une partition donnée. Par exemple, nous pouvons partitionner les données ci-dessus en fonction du fabricant et appliquer la fonction Lead () dans chaque partition

Un exemple d'illustration est comme indiqué:

sélectionner
Product_name,
fabricant,
quantité,
prix,
avance (prix,
1) sur (
partition par fabricant
Ordre par quantité)
depuis
des produits;

La requête ci-dessus devrait diviser les lignes en fonction du fabricant et récupérer le prix suivant pour les valeurs de chaque partition.

Dans ce cas, il y a trois partitions.

Conclusion

Dans cet article, vous avez compris les éléments constitutifs de la fonction Lead () dans SQL Server. Vous avez également appris à utiliser la fonction Lead () sur un résultat de résultat et de partition.