Middle
Como fazer uma consulta SQL para contar o número de funcionários nas categorias de salário com 0 para categorias vazias?
sobes.tech IA
Resposta da IA
Para contar o número de funcionários em cada categoria salarial e exibir 0 para categorias sem funcionários, deve-se usar um LEFT JOIN com a tabela de categorias salariais.
Suponha que existam duas tabelas:
salary_categories(id, nome_da_categoria)employees(id, nome, salary_category_id)
Exemplo de consulta:
SELECT sc.nome_da_categoria, COUNT(e.id) AS numero_de_funcionários
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.nome_da_categoria
ORDER BY sc.nome_da_categoria;
Explicação:
LEFT JOINgarante que todas as categorias desalary_categoriesaparecerão no resultado, mesmo que não haja funcionários nelas.COUNT(e.id)conta o número de funcionários em cada categoria; para categorias vazias, o resultado será 0.
Essa abordagem permite obter uma lista completa de categorias com uma contagem correta de funcionários.