M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Exercicis T3-HR
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.
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