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 JOINgarantisce che tutte le categorie disalary_categoriessiano 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.