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

De wikiserver
Dreceres ràpides: navegació, cerca

1) Escriba una consulta para mostrar la fecha del sistema. Etiquete la columna como Date.

Nota: si la base de datos se ubica de forma remota en una zona horaria diferente, la salida será la fecha del sistema operativo en el que reside la base de datos.

  Date
  ----
1 08/12/17

2) El departamento de recursos humanos necesita un informe que muestre el número de empleado, apellido, salario y salario aumentado en un 15,5% (expresado como número entero) para cada empleado. Etiquete la columna como New Salary.

Guarde la sentencia SQL en un archivo denominado lab_03_02.sql.

3) Ejecute la consulta en el archivo lab_03_02.sql.

  EMPLOYEE_ID  LAST_NAME  SALARY  New Salary
  -----------  ---------  ------  ----------
1         100  King	   24000       27720
2         101  Kochhar	   17000       19635
3         102  De Haan	   17000       19635
4         103  Hunold	    9000       10395
5         104  Ernst	    6000        6930
...

4) Modifique la consulta lab_03_02.sql para agregar una columna que reste el salario antiguo del nuevo. Etiquete la columna como Increase. Guarde el contenido del archivo como lab_03_04.sql. Ejecute la consulta revisada.

  EMPLOYEE_ID  LAST_NAME  SALARY  New Salary  Increase
  -----------  ---------  ------  ----------  --------
1         100  King	   24000       27720      3720
2         101  Kochhar	   17000       19635      2635
3         102  De Haan	   17000       19635      2635
4         103  Hunold	    9000       10395      1395
5         104  Ernst	    6000        6930       930
...

5) Escriba una consulta que muestre el apellido (con la primera letra en mayúsculas y el resto en minúsculas) y la longitud del apellido de todos los empleados cuyos nombres empiecen por las letras "J", "A" o "M". Proporcione a cada columna una etiqueta adecuada. Ordene los resultados por el apellido de los empleados.

  Name      Length
  --------  ------
1 Abel	         4
2 Ande	         4
3 Atkinson	 8
4 Austin	 6
5 Johnson	 7
...

Vuelva a escribir la consulta para que se le solicite al usuario que introduzca la letra por la que empieza el apellido. Por ejemplo, si el usuario introduce H (en mayúscula) cuando se le solicita que introduzca una letra, la salida debe mostrar a todos los empleados cuyos apellidos empiecen por la letra "H"

  Name      Length
  --------  ------
1 Hall	         4
2 Hartstein	 9
3 Higgins	 7
4 Himuro	 6
5 Hunold	 6
6 Hutton	 6

Modifique la consulta de forma que la mayúscula/minúscula de la letra introducida no afecte a la salida. La letra introducida debe estar en mayúscula antes de que la procese la consulta SELECT.

Diàleg

  Name      Length
  --------  ------
1 Hall	         4
2 Hartstein	 9
3 Higgins	 7
4 Himuro	 6
5 Hunold	 6
6 Hutton	 6

6) El departamento de recursos humanos desea buscar la duración del contrato de cada empleado. Para cada empleado, muestre el apellido y calcule el número de meses entre el día de hoy y la fecha de contratación del empleado. Etiquete la columna como MONTHS_WORKED. Ordene los resultados por el número de meses durante los que ha trabajado. Redondee el número de meses hasta el número entero más cercano.

Nota: debido a que esta consulta depende de la fecha de ejecución, los valores de la columna MONTHS_WORKED serán diferentes.

  LAST_NAME  MONTHS_WORKED
  ---------  -------------
1 Ande	               116
2 Banda	               116
3 Kumar	               116
4 Markle	       117
5 Philtanker	       118
...

Si tiene tiempo, realice los siguientes ejercicios:

7) Cree una consulta para mostrar el apellido y el salario de todos los empleados. Formatee el salario para que tenga 15 caracteres de longitud y tenga un relleno hacia la izquierda con el símbolo $. Etiquete la columna como SALARY.

  LAST_NAME  SALARY
  ---------  ---------------
1 King	     $$$$$$$$$$24000
2 Kochhar    $$$$$$$$$$17000
3 De Haan    $$$$$$$$$$17000
4 Hunold     $$$$$$$$$$$9000
5 Ernst	     $$$$$$$$$$$6000
...

8) Cree una consulta que muestre los primeros ocho caracteres de los apellidos de los empleados y que indique las cantidades de sus salarios con asteriscos. Cada asterisco significa mil dólares. Ordene los datos en orden descendente de salarios. Etiquete la columna EMPLOYEES_AND_THEIR_SALARIES.

  EMPLOYEES_AND_THEIR_SALARIES
  ----------------------------------
1 King      ************************
2 Kochhar   *****************
3 De Haan   *****************
4 Russell   **************
5 Partners  *************
...

9) Cree una consulta para mostrar el apellido y el número de semanas durante las que han trabajado todos los empleados del departamento 90. Etiquete la columna de número de semanas como TENURE. Trunque el valor del número de semana en 0 decimales. Muestre los registros en orden descendente de antigüedad del empleado.

Nota: el valor TENURE variará ya que depende de la fecha de ejecución de la consulta.

  LAST_NAME  TENURE
  ---------  ------
1 De Haan	881
2 King	        755
3 Kochhar	637