Leçon 5 / 9 — Chapitre 8: Mise en pratique : bibliothèque
CTE : les emprunts en retard
Une CTE peut isoler d'abord les emprunts non rendus, puis filtrer sur leur date de retour prévue — en supposant, pour cet exercice, que l'on se place au 10 avril 2024 (une date littérale fixe, jamais CURRENT_DATE).
WITH emprunts_en_cours AS (
SELECT e.id, l.titre, a.nom, e.date_retour_prevue
FROM emprunts e
JOIN livres l ON e.livre_id = l.id
JOIN adherents a ON e.adherent_id = a.id
WHERE e.rendu = false
)
SELECT * FROM emprunts_en_cours
WHERE date_retour_prevue < '2024-04-10';
emprunts_en_cours isole d'abord les 3 emprunts non rendus (id 3, 4, 6). Le filtre externe ne garde que ceux dont la date de retour prévue précède le 10 avril 2024 : l'emprunt 3 (15 mars) et l'emprunt 4 (24 mars) sont en retard ; l'emprunt 6 (15 avril) ne l'est pas encore. Résultat : 2 lignes.
À retenir :
- Isoler d'abord une CTE (ici, les emprunts en cours), puis filtrer dessus, décompose un calcul en deux étapes lisibles.
- Un « retard » se calcule toujours contre une date de référence explicite et fixe dans un exercice — jamais
CURRENT_DATE, dont le résultat changerait chaque jour.
À vous de jouer : avec la même date de référence (10 avril 2024), l'emprunt 6 (Les Sables de Kaelis, retour prévu le 15 avril) est-il en retard ?
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 80 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès