Middle
Cum se face o interogare SQL pentru a număra numărul de angajați în categoriile de salarii cu afișarea a 0 pentru categoriile goale?
sobes.tech AI
Răspuns de la AI
Pentru a număra numărul de angajați din fiecare categorie salarială și a afișa 0 pentru categoriile fără angajați, trebuie să folosiți LEFT JOIN cu tabelul categoriilor salariale.
Presupunem că există două tabele:
salary_categories(id, nume_categorie)employees(id, nume, salary_category_id)
Exemplu de interogare:
SELECT sc.nume_categorie, COUNT(e.id) AS numar_angajati
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.nume_categorie
ORDER BY sc.nume_categorie;
Explicație:
LEFT JOINasigură că toate categoriile dinsalary_categoriesvor apărea în rezultat, chiar dacă nu există angajați în ele.COUNT(e.id)numără angajații din fiecare categorie; pentru categoriile goale, rezultatul va fi 0.
Această abordare permite obținerea unei liste complete de categorii cu un număr corect de angajați.