Sobes.tech
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 JOIN garante que todas as categorias de salary_categories aparecerã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.