Pregunta 46

Técnico Auxiliar Informática del Estado - 2018 - TAI - Técnicos Auxiliares de Informática (Libre)

En una empresa hay una tabla de empleados: EMPLEADO(EMP_ID, NOMBRE, CATEGORIA, SUELDO). Elija qué sentencia nos daría como resultado la categoría y sueldo medio de aquellas categorías cuyo sueldo medio es inferior al sueldo medio de todos los empleados de la empresa:

  • A.SELECT CATEGORIA, AVG(SUELDO) FROM EMPLEADO GROUP BY CATEGORIA HAVING AVG(SUELDO) < (SELECT AVG(SUELDO) FROM EMPLEADO)Respuesta correcta
  • B.SELECT CATEGORIA, AVG(SUELDO) FROM EMPLEADO HAVING CATEGORIA GROUP BY AVG(SUELDO) < (SELECT AVG(SUELDO) FROM EMPLEADO)
  • C.SELECT CATEGORIA, AVG(SUELDO) FROM EMPLEADO WHERE SUELDO < AVG(SUELDO) GROUP BY CATEGORIA
  • D.SELECT CATEGORIA, AVG(SUELDO) FROM EMPLEADO WHERE AVG(SUELDO) < (SELECT SUELDO FROM EMPLEADO)

Explicación

La respuesta correcta es A. Para filtrar grupos por función agregada se debe usar HAVING tras GROUP BY, no WHERE. La sentencia correcta agrupa por categoría, calcula promedio de sueldos y filtra mediante una subconsulta los grupos cuyo promedio sea inferior al promedio total de empresa.