SQL : Identifier les enregistrements "sans lien"
🔍 SQL : Obtenir la liste des élèves sans responsable (avec LEFT JOIN)
📘 Introduction : Identifier les enregistrements "sans lien"
Dans toute base de données relationnelle, il est courant de vouloir repérer les enregistrements orphelins, c’est-à-dire ceux qui n'ont pas de correspondance dans une autre table liée.
Ce besoin peut concerner différentes situations :
-
📌 Liste des clients sans commande
-
📌 Liste des employés sans mission assignée
-
📌 Liste des produits sans stock
-
📌 Et dans notre exemple : des élèves sans responsable enregistré
🎯 Objectif
Dans cet article, nous allons nous concentrer sur le cas concret suivant : obtenir la liste des élèves inscrits pour l’année scolaire 2024/2025, mais pour lesquels aucun responsable n’a été associé dans la base.
Cela permet à l’administration de :
détecter les fiches incomplètes
assurer un suivi plus rigoureux des élèves
relancer les familles si besoin
👉 Pour cela, nous allons utiliser une jointure gauche (LEFT JOIN) combinée à une condition sur les valeurs nulles (IS NULL). C’est une technique SQL simple et très efficace.
📄 Requête SQL complète
🧩 Explication détaillée
📌 1. Tables concernées
-
ScolInscription: contient les informations d'inscription des élèves, incluant leurMatricule,AnneeScolaire, etNumInscription. -
ResponsableEleve: contient les associations entre un élève (Matricule) et son ou ses responsables.
📌 2. Le LEFT JOIN
👉 Cette jointure retourne tous les enregistrements de la table de gauche (ScolInscription), même si aucun enregistrement correspondant n'existe dans la table de droite (ResponsableEleve).
⚠️ Les colonnes issues de
ResponsableEleveseront nulles quand aucun responsable n’est trouvé.
📌 3. La clause WHERE
✅ On filtre :
-
uniquement les élèves inscrits pour l’année 2024/2025
-
et ceux qui n’ont pas de responsable, c’est-à-dire que la jointure
ResponsableEleve.MatriculeestNULL.
✅ Résultat final
Tu obtiens ainsi la liste des élèves inscrits en 2024/2025 qui n'ont aucun responsable associé dans la base.
🧠 Astuce complémentaire
Si la relation entre élèves et responsables se fait via une autre clé (ex. NumInscription au lieu de Matricule), il faudra adapter la clause ON.
Exemple :
📌 Conclusion
Cette requête SQL repose sur une logique très utilisée en base de données relationnelle : repérer les "orphelins" d’une relation (ici, les élèves sans responsables).
C’est une technique puissante pour vérifier l’intégrité des données, détecter les anomalies, ou encore générer des relances administratives.

Commentaires
Enregistrer un commentaire