Sobes.tech
Middle

Comment faire une requête SQL pour compter le nombre d'employés dans les catégories de salaire avec un 0 pour les catégories vides?

sobes.tech IA

Réponse de l'IA

Pour compter le nombre d'employés dans chaque catégorie de salaire et afficher 0 pour celles sans employés, il faut utiliser un LEFT JOIN avec la table des catégories de salaire.

Supposons qu'il y ait deux tables :

  • salary_categories (id, nom_catégorie)
  • employees (id, nom, salary_category_id)

Exemple de requête :

SELECT sc.nom_catégorie, COUNT(e.id) AS nombre_employés
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.nom_catégorie
ORDER BY sc.nom_catégorie;

Explication :

  • LEFT JOIN garantit que toutes les catégories de salary_categories apparaîtront dans le résultat, même si aucune employé n'y appartient.
  • COUNT(e.id) compte le nombre d'employés dans chaque catégorie ; pour les catégories vides, le résultat sera 0.

Cette approche permet d'obtenir une liste complète des catégories avec un comptage précis des employés.