Sobes.tech
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 JOIN asigură că toate categoriile din salary_categories vor 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.