SQL avancé
Fonctions texte, date et numériques, valeurs nulles, CASE WHEN, vues et analyse exploratoire de données
Objectif pédagogique
À la fin de ce module, vous saurez utiliser les fonctions texte, date et numériques avancées, gérer les valeurs nulles, construire des CASE WHEN et des vues, et mener une analyse exploratoire de données avec des CTE récursives.
Programme du cours
Fonctions texte approfondies
Comme en Python ou en Excel, SQL propose des fonctions pour manipuler du texte : changer la casse, mesurer une longueur, ou assemb…
Programme du chapitre
- Fonctions texte (1/2) : casse et longueur
- Fonctions texte (2/2) : nettoyer et extraire
- CONCAT() : assembler du texte en toute sécurité
- POSITION : localiser une sous-chaîne
- LPAD et RPAD : aligner du texte
- STRING_AGG : concaténer les valeurs d'un groupe
- SIMILAR TO : motifs de texte avancés
- Combiner plusieurs fonctions texte
- Cas pratique : rapport de noms normalisés par statut
Fonctions date approfondies
Les dates suivent aussi des fonctions dédiées, même si leur syntaxe exacte varie selon le moteur SQL (, standard SQL, utilisé ici…
Programme du chapitre
- Fonctions date
- DATE_TRUNC : arrondir à une unité de temps
- Premier et dernier jour du mois
- Jour de la semaine : EXTRACT(DOW)
- Formater une date pour l'affichage : TO_CHAR
- Arithmétique d'intervalles : INTERVAL
- Différence précise en mois et en années : AGE()
- Combiner DATE_TRUNC et agrégation
- Cas pratique : les inscriptions du mardi
Fonctions numériques et NULL avancé
→ 120.5 (montant vaut 120.456 ; le chiffre après la 1ère décimale, 5, fait arrondir vers le haut). → 150 (montant vaut 150, un rem…
Programme du chapitre
- Fonctions numériques : ROUND, ABS
- Gestion des valeurs nulles : COALESCE, IS NULL
- CEIL et FLOOR : arrondi vers le haut ou vers le bas
- MOD, POWER et SQRT
- GREATEST et LEAST
- NULLIF
- IS DISTINCT FROM : comparer en toute sécurité avec NULL
- STDDEV et VARIANCE
- Cas pratique : un rapport tolérant aux valeurs extrêmes et manquantes
CASE WHEN et agrégation conditionnelle
évalue les conditions dans l'ordre, et renvoie la valeur associée à la première condition vraie ; couvre tous les cas restants. Av…
Programme du chapitre
- Transformation conditionnelle : CASE WHEN
- CASE simple vs CASE recherché
- CASE imbriqué
- Agrégation conditionnelle : SUM(CASE WHEN…)
- Construire un tableau croisé simple avec CASE
- La clause FILTER : une alternative à CASE dans un agrégat
- CASE dans ORDER BY : un tri personnalisé
- Combiner CASE et sous-requête
- Cas pratique : un rapport à trois catégories
CAST et vues approfondies
→ 120 (montant vaut 120.456 ; le comportement exact sur une valeur décimale — arrondi ou troncature — peut varier légèrement selon…
Programme du chapitre
- Changement de type : CAST / CONVERT
- Les vues : CREATE VIEW
- CREATE OR REPLACE VIEW
- DROP VIEW
- Une vue basée sur une jointure
- Les limites d'une vue avec agrégation
- Vue matérialisée : principe
- Rafraîchir une vue matérialisée
- Cas pratique : un rapport d'achats filtré et casté
Regroupements avancés
→ 2 valeurs distinctes : 'actif', 'inactif'. → 6 (le nombre total de lignes, doublon inclus). → 1 groupe : Emma / emma@mail.com (l…
Programme du chapitre
- Analyse exploratoire (1/2) : DISTINCT, compter, doublons
- Analyse exploratoire (2/2) : explorer une répartition
- GROUPING SETS : plusieurs regroupements en une requête
- ROLLUP : sous-totaux hiérarchiques
- CUBE : toutes les combinaisons de regroupement
- La fonction GROUPING() : distinguer un sous-total d'un NULL réel
- Comparer GROUPING SETS, ROLLUP et CUBE
- HAVING avec les regroupements avancés
- Cas pratique final : exploration + transformation combinées
CTE récursive et structures avancées
Une CTE récursive s'appelle ellemême, pour parcourir une hiérarchie sur un nombre de niveaux inconnu à l'avance — impossible avec…
Programme du chapitre
- WITH RECURSIVE : principe et syntaxe
- Condition d'arrêt : éviter une boucle infinie
- Cas d'usage : retrouver tous les descendants d'une catégorie
- Calculer un niveau de profondeur
- Introduction au type JSON
- Extraire une valeur JSON avec -> et ->>
- ARRAY : stocker et interroger un tableau de valeurs
- ARRAY_AGG et UNNEST
- Cas pratique : compter les descendants de chaque racine
Mise en pratique : hôtellerie
Ce chapitre introduit un nouveau scénario : un petit hôtel, avec deux tables indépendantes. Les prix () et les revenus calculés da…
Programme du chapitre
- Les tables chambres et réservations
- CTE : chiffre d'affaires par mois
- ROLLUP : revenu par type de chambre
- CASE : compter les réservations par statut
- Vue : réservations actives
- Gérer un commentaire optionnel avec COALESCE
- STRING_AGG : chambres réservées par mois
- Vue matérialisée : un rapport mensuel figé
- Cas pratique de synthèse : tableau de bord hôtelier
Mise en pratique : e-commerce
Ce chapitre introduit un nouveau scénario : une boutique en ligne, avec deux tables indépendantes. Les prix () de ce chapitre sont…
Programme du chapitre
- Les tables articles et avis
- CTE : note moyenne par article
- STRING_AGG : commentaires par article
- COALESCE : afficher les avis sans commentaire
- CASE : classer les avis par ressenti
- ROLLUP : nombre d'avis par catégorie d'article
- ARRAY_AGG : les clients ayant noté un article
- Vue : avis détaillés avec article
- Cas pratique de synthèse : tableau de bord des avis
Mise en pratique : ressources humaines
Dernier scénario du module : un organigramme d'entreprise, sur une seule table hiérarchique. référence dans cette même table : cha…
Programme du chapitre
- La table collaborateurs
- CTE récursive : l'organigramme complet
- Cas d'usage : tous les subordonnés d'un manager
- CASE : classer les collaborateurs par tranche de salaire
- ROLLUP : masse salariale par niveau hiérarchique
- STRING_AGG : les subordonnés directs de chaque manager
- Vue : organigramme avec noms de manager
- JSON : des compétences flexibles par collaborateur
- Cas pratique final du module : tableau de bord RH par niveau
Progression du module
0/90 terminées
Ce module inclut
- ✓ 90 leçons · durée estimée ~16.5h
- ✓ 193 exercices pratiques corrigés
- ✓ Quiz de révision par chapitre
- ✓ Quiz de fin de module
- ✓ Attestation de réussite vérifiable
- ✓ Accès permanent une fois débloqué
Votre attestation
Terminez ce module pour débloquer votre attestation vérifiable.
Accès complet
Les 3 premières leçons de ce module sont gratuites.
8 500 XOF / 12,96 € / 14,12 $
Débloquez les 87 leçons restantes de ce module