Module
Module 5 sur 6Leçon 1 sur 2~18 min

Découper avec WITH, comparer avec les fonctions de fenêtre

Variation mensuelle, dernier état de chaque client, part du total : les questions de suivi demandent des requêtes plus structurées. Vous apprenez à découper une requête en étapes lisibles et à comparer des lignes entre elles avec les fonctions de fenêtre. Vous repérez plus tôt un client qui décroche et partagez une requête que d'autres peuvent relire.

Objectif de la leçon

À la fin de cette leçon, vous serez capable de découper une requête en étapes nommées avec WITH (CTE) et d'utiliser trois fonctions de fenêtre (ROW_NUMBER pour garder la dernière ligne de chaque groupe, LAG pour calculer une évolution, SUM OVER pour un cumul ou une part du total).

Thèmes abordés

  • CTE
  • clause WITH
  • fonctions de fenêtre
  • ROW_NUMBER
  • LAG
  • suivi mensuel

Dans quel module

Répondre à des questions produit

Comment passer d'une question floue (« nos clients sont-ils actifs ? ») à une requête dont je peux défendre le résultat ?

Leçons du module

  1. Découper avec WITH, comparer avec les fonctions de fenêtre (cette leçon)
  2. De la question produit à la requête que l'on peut défendre

Ce que vous apprendrez dans la formation

Cette leçon fait partie de la formation Modéliser les données de son produit et les interroger en SQL

  • Lire un modèle de données (tables, clés primaires et étrangères, cardinalités, diagramme entité-relation) et le relier aux écrans et aux règles du produit.
  • Modéliser les données d'une fonctionnalité (entités, attributs, relations, clés, cardinalités) et faire valider ce modèle par l'équipe technique.
  • Comparer une base relationnelle et une base documents (NoSQL) pour un besoin produit et justifier le choix selon les requêtes, la cohérence et l'évolution attendues.
  • Écrire des requêtes qui filtrent, trient et agrègent (SELECT, WHERE, ORDER BY, GROUP BY, HAVING) en traitant correctement les valeurs NULL et les dates.
  • Combiner plusieurs tables avec des jointures INNER et LEFT, et vérifier que le résultat ne perd ni ne double aucune ligne.
  • Traduire une question produit en requête vérifiable, avec des CTE et des fonctions de fenêtre simples (ROW_NUMBER, LAG, SUM OVER).
  • Interroger les données en lecture seule en protégeant les données personnelles, et faire rédiger du SQL par une IA en vérifiant chaque requête avant d'en utiliser le résultat.