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 JOINgarantit que toutes les catégories desalary_categoriesapparaî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.