M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Exercicis T5-HR

De wikiserver
Dreceres ràpides: navegació, cerca

Determine la validez de las tres sentencias siguientes. Seleccione Verdadero o Falso.


1) Las funciones de grupo funcionan en varias filas para producir un resultado por grupo.

Verdadero/Falso

2) Las funciones de grupo incluyen valores nulos en los cálculos.

Verdadero/Falso

3) La cláusula WHERE restringe las filas antes de incluirlas en un cálculo de grupo.

Verdadero/Falso

El departamento de recursos humanos necesita los siguientes informes:

4) Encontrar el valor más alto, el valor más bajo, la suma y la media del salario de todos los empleados. Etiquete las columnas como Maximum, Minimum, Sum y Average, respectivamente. Redondee los resultados al número entero más cercano. Guarde la sentencia SQL como lab_05_04.sql. Ejecute la consulta.

  Maximum  Minimum  Sum     Average
  -------  -------  ------  -------
1   24000     2100  691416     6462

5) Modifique la consulta del archivo lab_05_04.sql para mostrar el valor mínimo, el valor máximo, la suma y la media del salario de cada tipo de cargo. Vuelva a guardar lab_05_04.sql como lab_05_05.sql. Ejecute la sentencia en el archivo lab_05_05.sql.

  JOB_ID      Maximum  Minimum  Sum     Average
  ----------  -------  -------  ------  -------
1 IT_PROG        9000	  4200   28800     5760
2 AC_MGR        12008	 12008   12008    12008
3 AC_ACCOUNT	 8300	  8300    8300     8300
4 ST_MAN	 8200	  5800   36400     7280
5 PU_MAN	11000	 11000   11000    11000
...

6) Escriba una consulta para mostrar el número de personas con el mismo cargo.

  JOB_ID      COUNT(*)
  ----------  -------- 
1 AC_ACCOUNT	     1
2 AC_MGR	     1
3 AD_ASST	     1
4 AD_PRES	     1
5 AD_VP	             2
...

Generalice la consulta para preguntar al usuario del departamento de recursos humanos cuál es su puesto. Guarde el script en un archivo denominado lab_05_06.sql. Ejecute la consulta. Introduzca IT_PROG cuando se le solicite y haga clic en OK.

  JOB_ID   COUNT(*)
  -------  --------
1 IT_PROG         5

7) Determine el número de gestores sin enumerarlos en una lista. Etiquete la columna como Number of Managers.

Indicación: utilice la columna MANAGER_ID para determinar el número de gestores.

  Number of Managers
  ------------------ 
1                 18

8) Busque la diferencia entre los salarios más altos y más bajos. Etiquete la columna como DIFFERENCE.

  DIFFERENCE
  ----------
1      21900

Si tiene tiempo, realice los siguientes ejercicios:

9) Cree un informe para mostrar el número de gestor y el salario del empleado con menor sueldo de ese gestor. Excluya a cualquier trabajador del que desconozca su gestor. Excluya cualquier grupo en el que el salario mínimo sea 6.000 dólares o menos. Ordene la salida en orden descendente de salarios.

  MANAGER_ID  MIN(salary)
  ----------  -----------
1        102	     9000
2        205	     8300
3        145         7000
4        146         7000
5        108	     6900
...

Si desea superarse a sí mismo, complete los siguientes ejercicios:

10) Cree una consulta que muestre el número total de empleados y, de ese total, el número de empleados contratados en 2005, 2006, 2007 y 2008. Cree las cabeceras de columna adecuadas.

  TOTAL  2005  2006  2007  2008
  -----  ----  ----  ----  ----
1   107	   29	 24    19    11

11) Cree una consulta de matriz para mostrar el cargo, el salario de ese cargo según el número de departamento y el salario total del cargo para los departamentos 20, 50, 80 y 90, proporcionando a cada columna una cabecera adecuada.

  Job         Dept 20  Dept 50  Dept 80  Dept 90  Total
  ----------  -------  -------  -------  -------  -----
1 IT_PROG      (null)   (null)	 (null)   (null)  28800
2 AC_MGR       (null)   (null)	 (null)   (null)  12008
3 AC_ACCOUNT   (null)   (null)	 (null)   (null)   8300
4 ST_MAN       (null)    36400	 (null)   (null)  36400
5 PU_MAN       (null)   (null)	 (null)   (null)  11000
...