Sobes.tech
Middle

¿Cómo hacer una consulta SQL para contar el número de empleados en categorías de salario con un 0 para categorías vacías?

sobes.tech AI

Respuesta de la IA

Para contar la cantidad de empleados en cada categoría salarial y mostrar 0 para las categorías sin empleados, se debe usar un LEFT JOIN con la tabla de categorías salariales.

Supongamos que hay dos tablas:

  • salary_categories (id, nombre_categoria)
  • employees (id, nombre, salary_category_id)

Ejemplo de consulta:

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

Explicación:

  • LEFT JOIN garantiza que todas las categorías de salary_categories aparecerán en el resultado, incluso si no hay empleados en ellas.
  • COUNT(e.id) cuenta la cantidad de empleados en cada categoría; para categorías vacías será 0.

Este enfoque permite obtener una lista completa de categorías con un conteo correcto de empleados.