Maison > base de données > tutoriel mysql > Comment inclure des résultats nuls dans les agrégats SQL COUNT à l'aide de jointures externes ?

Comment inclure des résultats nuls dans les agrégats SQL COUNT à l'aide de jointures externes ?

Mary-Kate Olsen
Libérer: 2025-01-08 18:17:43
original
373 Les gens l'ont consulté

How to Include Zero Results in SQL COUNT Aggregates Using Outer Joins?

Gestion des comptes nuls dans les agrégats SQL COUNT avec jointures externes

La fonction d'agrégation COUNT de SQL compte généralement les valeurs non nulles, en omettant les entités avec des résultats nuls. Pour inclure ces entités à nombre nul, utilisez une jointure externe. Les jointures externes, contrairement aux jointures internes, conservent toutes les lignes d'une ou des deux tables, même s'il n'y a aucune correspondance dans l'autre table.

Illustrons avec deux tableaux : person et appointment. appointment liens vers person via person_id. Pour compter les rendez-vous par personne, y compris ceux avec zéro rendez-vous, utilisez un LEFT JOIN :

SELECT
  p.person_id,
  COUNT(a.person_id) AS number_of_appointments
FROM
  person p
LEFT JOIN
  appointment a
ON
  p.person_id = a.person_id
GROUP BY
  p.person_id;
Copier après la connexion

Cela LEFT JOIN garantit que toutes les lignes de la table person (alias p) sont incluses. Si une personne n'a pas de rendez-vous, a.person_id sera NULL et COUNT(a.person_id) renverra 0 pour cette personne. Cela fournit un décompte complet de toutes les personnes, reflétant avec précision les cas sans rendez-vous. La clause GROUP BY garantit que le décompte est regroupé par personne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal