ConsigneAffiche tous les étudiants et le nom de leurs cours, y compris ceux sans inscription (LEFT JOIN au lieu de INNER JOIN). Mêmes tables et alias au choix que l'exercice précédent ; les colonnes du cours valent NULL si l'étudiant n'a aucune inscription.
left join garde toutes les lignes de la table de gauche, même sans correspondance a droite (les colonnes de droite valent alors null). Syntaxe : from tableA left join tableB ON ...;
Utile pour trouver « qui n'a rien » (ex : clients sans commande) : on garde le left join et on ajoute where cmd.id IS null, pour ne conserver que les lignes où la table de droite n'a rien apporté.
Exemple (clients + commandes) :
SELECT c.nom, cmd.montant FROM clients cLEFT JOIN commandes cmd ON c.id = cmd.client_id;-> tous les clients, avec ou sans commandeSELECT c.nom FROM clients cLEFT JOIN commandes cmd ON c.id = cmd.client_idWHERE cmd.id IS NULL;-> uniquement les clients qui n'ont aucune commandeEnvie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →