PaliSkill
← Retour au catalogue
Intermédiaire~19h90 leçons

SQL Intermédiaire

Jointures, sous-requêtes, alias, UNION et administration simple : la suite pour interroger et structurer une base de données

Objectif pédagogique

À la fin de ce module, vous saurez combiner des tables avec des jointures et sous-requêtes, utiliser les CTE et opérateurs ensemblistes, et faire évoluer une structure de table avec rigueur.

Commencer le module →

Chapitres

1

Jointures fondamentales

Disponible
0/9

Jusqu'ici, chaque requête ne portait que sur une seule table. Une base de données relationnelle contient souvent plusieurs tables…

Voir les détails du chapitre
  • INNER JOIN : combiner deux tables liées
  • Alias de table et de colonne (AS)
  • LEFT JOIN : garder toutes les lignes même sans correspondance
  • RIGHT JOIN : garder toutes les lignes de la table de droite
  • FULL OUTER JOIN : garder toutes les lignes des deux tables
  • Comparer les 4 jointures : laquelle utiliser ?
  • Le piège des NULL dans une condition ON
  • Éviter les colonnes ambiguës entre tables jointes
  • Cas pratique final : une requête avec jointure combinée
2

Jointures avancées et combinées

Disponible
0/9

Un joint une table avec ellemême — utile pour comparer des lignes entre elles, par exemple pour trouver des paires de produits qui…

Voir les détails du chapitre
  • SELF JOIN : comparer des lignes d'une même table
  • CROSS JOIN : le produit cartésien
  • NATURAL JOIN et la clause USING
  • Jointures chaînées : combiner 3 tables
  • JOIN combiné à GROUP BY et HAVING
  • JOIN combiné à SUM et AVG
  • Ordre d'exécution : jointure, puis WHERE, puis GROUP BY
  • LEFT JOIN + IS NULL : trouver les lignes sans correspondance
  • Cas pratique : classement par jointures combinées
3

Sous-requêtes

Disponible
0/9

Une sousrequête est une requête placée à l'intérieur d'une autre — entre parenthèses —, dans une clause ou . Sousrequête avec IN,…

Voir les détails du chapitre
  • Sous-requêtes simples (dans WHERE ou SELECT)
  • Sous-requête corrélée vs non corrélée
  • EXISTS : tester l'existence d'une correspondance
  • NOT EXISTS : tester l'absence de correspondance
  • Le piège de NOT IN avec des valeurs NULL
  • Sous-requête dans FROM : une table dérivée
  • ANY, ALL, SOME : comparer à un ensemble
  • Sous-requête ou JOIN : quand préférer laquelle ?
  • Cas pratique : sous-requêtes combinées
4

CTE et opérateurs ensemblistes

Disponible
0/9

combine les résultats de deux requêtes en un seul résultat — à condition qu'elles renvoient le même nombre de colonnes, de types c…

Voir les détails du chapitre
  • UNION : combiner les résultats de deux requêtes
  • Le piège de l'ordre des colonnes dans un UNION
  • INTERSECT : l'intersection de deux requêtes
  • EXCEPT : la différence entre deux requêtes
  • WITH : introduire une CTE
  • Enchaîner plusieurs CTE
  • Réécrire une sous-requête complexe en CTE
  • CTE ou sous-requête en FROM : quand choisir quoi ?
  • Cas pratique : rapport combinant UNION et CTE
5

Définir et faire évoluer une table

Disponible
0/10

définit une nouvelle table : son nom, ses colonnes, et le type de donnée attendu dans chacune. Chaque ligne entre parenthèses défi…

Voir les détails du chapitre
  • Créer une table (CREATE TABLE)
  • NOT NULL et UNIQUE : deux contraintes simples
  • DEFAULT : une valeur par défaut
  • CHECK : imposer une règle sur les valeurs
  • Clé primaire et clé étrangère
  • Clé primaire composite
  • Colonne auto-incrémentée
  • ALTER TABLE : faire évoluer une table existante
  • DROP TABLE et TRUNCATE TABLE
  • Cas pratique : concevoir une table complète
6

Modifier les données avec rigueur

Disponible
0/10

Trois commandes modifient les données d'une table (contrairement à , qui ne fait que les lire). ajoute une nouvelle ligne. modifie…

Voir les détails du chapitre
  • INSERT, UPDATE, DELETE : rappel de la syntaxe
  • INSERT INTO … SELECT
  • UPDATE avec une sous-requête en WHERE
  • DELETE avec une sous-requête en WHERE
  • ON DELETE CASCADE
  • ON DELETE SET NULL
  • Transactions : BEGIN et COMMIT
  • Transactions : ROLLBACK et l'atomicité
  • Tester une modification avec SELECT avant de l'exécuter
  • Cas pratique : modifier des données en toute sécurité
7

Index approfondi

Disponible
0/8

Un index est une structure auxiliaire que la base de données construit sur une colonne, pour accélérer les recherches sur cette co…

Voir les détails du chapitre
  • Index : principe et intérêt
  • Index composite
  • Index UNIQUE
  • Index et ORDER BY : accélérer un tri
  • Ce qui est indexé automatiquement
  • Quand un index n'aide pas
  • Lire un plan d'exécution simple : EXPLAIN
  • Cas pratique : choisir les bons index
8

Mise en pratique : bibliothèque

Disponible
0/9

Ce chapitre introduit un nouveau scénario : une médiathèque, avec trois tables indépendantes du reste du catalogue. est une table…

Voir les détails du chapitre
  • Les tables livres, adhérents et emprunts
  • Jointure à trois tables : qui a emprunté quoi
  • LEFT JOIN + IS NULL : les livres jamais empruntés
  • GROUP BY après jointure : les genres les plus empruntés
  • CTE : les emprunts en retard
  • Contraintes sur emprunts : FK, NOT NULL, DEFAULT
  • Enregistrer un retour de livre (UPDATE ciblé)
  • Index utiles sur cette base
  • Cas pratique : rapport d'activité de la médiathèque
9

Mise en pratique : clinique

Disponible
0/9

Ce chapitre introduit un nouveau scénario : une clinique, avec trois tables enchaînées. Les trois tables s'enchaînent : référence…

Voir les détails du chapitre
  • Les tables patients, consultations et prescriptions
  • Jointure chaînée : le parcours d'un patient
  • Sous-requête corrélée : la dernière consultation de chaque patient
  • Clé composite sur la table de liaison prescriptions
  • NOT EXISTS : patients sans aucune consultation
  • ON DELETE CASCADE : supprimer un patient et son historique
  • Transaction : enregistrer une consultation et sa prescription
  • Index sur la table de liaison
  • Cas pratique : tableau de bord de la clinique
10

Mise en pratique : restaurant

Disponible
0/8

Dernier scénario du module : un restaurant avec livraison, sur trois tables indépendantes. Comme au chapitre 2, désigne directemen…

Voir les détails du chapitre
  • Les tables plats, tickets et expeditions
  • CTE : le chiffre d'affaires par plat cette semaine
  • EXISTS : tickets sans livraison associée
  • INTERSECT / EXCEPT : plats commandés cette semaine vs la précédente
  • ALTER TABLE : ajouter une colonne de statut de livraison
  • INSERT INTO … SELECT : dupliquer un ticket favori
  • Transaction complète : de la commande à la livraison
  • Cas pratique de synthèse : rapport hebdomadaire

Progression du module

0/90 terminées

Ce module inclut

  • 90 leçons · durée estimée ~19h
  • 223 exercices pratiques corrigés
  • Quiz de révision par chapitre
  • Quiz de fin de module
  • Certificat de réussite vérifiable
  • Accès permanent une fois débloqué
🔒

Votre certificat

Terminez ce module pour débloquer votre certification vérifiable.

Accès complet

La première leçon de chaque chapitre est gratuite (10 leçons sur 90).

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 80 leçons restantes de ce module