Todo depende de qué DBMS uses.
Oracle y MS SQL Server exigen que todos los campos del SELECT no afectados por funciones agregadas
deben estar en el GROUP BY, por lo que para que funcionase debería ser:
Código SQL:
Ver originalSELECT D.NOMBRE, COUNT(E.ID), SUM(E.SUELDO)
FROM DEPARTAMENTO D INNER JOIN EMPLEADO E ON D.ID = E.ID_DEPARTAMENTO
WHERE D.ID_EMPRESA = 100
GROUP BY D.NOMBRE
En el caso de MySQL, sí admite que los campos del GROUP BY puedan invocar a columnas que no aparecen en el SELECT. De modo que tu sentencia se ajusta a la sintaxis de MySQL: