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 JOINgarantiza que todas las categorías desalary_categoriesaparecerá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.