Retour à la leçon
Mission

Mission : un rapport clients qui fait disparaître les clients sans commande

Diagnostiquer pourquoi un rapport utilisant join() omet des clients, puis corriger avec outerjoin().

Contexte

Un rapport de vente exécute select(Client.nom, func.count(Commande.id)).join(Commande, Commande.client_id == Client.id).group_by(Client.id) pour compter les commandes par client. Le service commercial signale que plusieurs clients récemment créés, qui n'ont encore jamais commandé, n'apparaissent jamais dans ce rapport, alors qu'ils devraient s'afficher avec un compte de zéro.