Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
EJERCICIOS DE SQL 4 I S C 4 A V Lopez Quesada Carlos Emmanuel (2101092) 4 de Mayo del 2023 Ingenieria de Sistemas Computacionales Profesor: FRANCISCO RODRRIGUEZ DIAZ Fundamentos de Base de Datos Ejercicios 4 1. Encuentre el salario promedio, la bonificación y la comisión de todos los empleados asignados a un departamento de trabajo. SELECT WORKDEPT, AVG(SALARY) AS PROMEDIO_SALARIO, AVG(BONUS) AS PROMEDIO_BONIFICACION, AVG(COMM) AS PROMEDIO_COMISION FROM EMPLOYEE GROUP BY WORKDEPT; 2. Ahora encuentre todos los empleados asignados a un departamento de trabajo, que tienen un salario mayor que el salario promedio calculado en la pregunta #1. Mostrar número de empleado, nombre y apellido, y salario. Devuelve las filas de resultados en secuencia de salario descendente. SELECT EMPNO, FIRSTNAME, LASTNAME, SALARY FROM EMPLOYEE WHERE SALARY > (SELECT AVG(SALARY) FROM EMPLOYEE) ORDER BY SALARY DESC; 3. Modifique su solución a la pregunta #2. Encuentre todos los empleados con un salario superior al promedio salario de todos en su mismo departamento de trabajo. SELECT e.EMPNO, e.FIRSTNAME, e.LASTNAME, e.SALARY FROM EMPLOYEE e INNER JOIN ( SELECT WORKDEPT, AVG(SALARY) AS PROMEDIO_SALARIO FROM EMPLOYEE GROUP BY WORKDEPT) avg_sal ON e.WORKDEPT = avg_sal.WORKDEPT WHERE e.SALARY > avg_sal.PROMEDIO_SALARIO ORDER BY e.SALARY DESC; 4. Verifique su solución a la pregunta # 3. Eliminar el nombre del conjunto de resultados. Agregar departamento de trabajo y salario promedio departamental, redondeado y cambiado a DECIMAL(9,2). Código al menos dos soluciones, una que involucre dos selecciones completas escalares y otra que involucre una unión a un expresión de tabla anidada. SELECT e.EMPNO, e.FIRSTNAME, e.LASTNAME, e.SALARY, e.WORKDEPT, ROUND(avg_sal.PROMEDIO_SALARIO, 2) AS PROMEDIO_SALARIO_DEPT FROM EMPLOYEE e INNER JOIN ( SELECT WORKDEPT, AVG(SALARY) AS PROMEDIO_SALARIO FROM EMPLOYEE GROUP BY WORKDEPT) avg_sal ON e.WORKDEPT = avg_sal.WORKDEPT WHERE e.SALARY > avg_sal.PROMEDIO_SALARIO ORDER BY e.SALARY DESC; 5. Las siguientes tres declaraciones SELECT devuelven tres resultados diferentes. El primero. regresa información a nivel de detalle, el segundo devuelve subtotales por departamento y el tercero devuelve una fila de gran total. Combina estos tres resultados en uno solo. Sugerencia: los conjuntos de resultados debe hacerse compatible: el mismo número de columnas, con posición compatible tipos de datos. 6. Del resultado anterior tomar en cuenta la secuencia de las filas de resultados también como los valores nulos en las filas de subtotal y total general. Asegúrese de que la columna SALARIO esté definido como DECIMAL(11,2).
Compartir