Sobes.tech
Middle

Come creare una query SQL per contare il numero di dipendenti nelle categorie di stipendio con 0 per le categorie vuote?

sobes.tech AI

Risposta dell'AI

Per contare il numero di dipendenti in ogni categoria di stipendio e visualizzare 0 per le categorie senza dipendenti, è necessario utilizzare un LEFT JOIN con la tabella delle categorie di stipendio.

Supponiamo che ci siano due tabelle:

  • salary_categories (id, nome_categoria)
  • employees (id, nome, salary_category_id)

Esempio di query:

SELECT sc.nome_categoria, COUNT(e.id) AS numero_dipendenti
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.nome_categoria
ORDER BY sc.nome_categoria;

Spiegazione:

  • LEFT JOIN garantisce che tutte le categorie di salary_categories siano presenti nel risultato, anche se non ci sono dipendenti in esse.
  • COUNT(e.id) conta il numero di dipendenti in ogni categoria; per le categorie vuote il risultato sarà 0.

Questo metodo permette di ottenere un elenco completo di categorie con un conteggio accurato dei dipendenti.