Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T4-HR»

De wikiserver
Dreceres ràpides: navegació, cerca
(Es crea la pàgina amb «1) Cree un informe que produzca los siguientes resultados para cada empleado: <apellido_empleado> earns <salario> mensual pero desea<3 veces el salario.>. Etiquete la...».)
 
Línia 1: Línia 1:
1) Cree un informe que produzca los siguientes resultados para cada empleado:
+
1) Cree un informe que produzca los siguientes resultados para cada empleado: <apellido_empleado> earns <salario> mensual pero desea<3 veces el salario.>.Etiquete la columna como Dream Salaries.
<apellido_empleado> earns <salario> mensual pero desea<3 veces el salario.>.
+
<pre>
Etiquete la columna como Dream Salaries.
+
SELECT last_name || ' earns '
SELECT
+
      || TO_CHAR(salary, 'fm$99,999.00')
last_name || ' earns '
+
      || ' monthly but wants '
|| TO_CHAR(salary, 'fm$99,999.00')
+
      || TO_CHAR(salary * 3, 'fm$99,999.00')
|| ' monthly but wants '
+
      || '.' "Dream Salaries"
|| TO_CHAR(salary * 3, 'fm$99,999.00')
+
FROM employees;
|| '.' "Dream Salaries"
+
</pre>
employees;
+
 
FROM
+
2) Muestre el apellido, fecha de contratación y fecha de revisión de salario de cada empleado, que es el primer lunes después de seis meses de contrato. Etiquete la columna como REVIEW. Formatee las fechas para que aparezcan en un formato similar a “Lunes treinta y uno de julio de 2000”.
2) Muestre el apellido, fecha de contratación y fecha de revisión de salario de cada
+
<pre>
empleado, que es el primer lunes después de seis meses de contrato. Etiquete la
 
columna como REVIEW. Formatee las fechas para que aparezcan en un formato
 
similar a “Lunes treinta y uno de julio de 2000”.
 
 
SELECT last_name, hire_date,
 
SELECT last_name, hire_date,
TO_CHAR(NEXT_DAY(ADD_MONTHS(hire_date, 6),'MONDAY'),
+
      TO_CHAR(NEXT_DAY(ADD_MONTHS(hire_date, 6),'MONDAY'),
'fmDay, "the" Ddspth "of" Month, YYYY') REVIEW
+
      'fmDay, "the" Ddspth "of" Month, YYYY') REVIEW
FROM
+
FROM employees;
employees;
+
</pre>
y
+
 
m
+
3) Muestre el apellido, fecha de contratación y día de la semana en el que empezó a trabajar el empleado. Etiquete la columna como DAY. Ordene los resultados por el día de la semana, empezando por el lunes.
3) Muestre el apellido, fecha de contratación y día de la semana en el que empezó a
+
<pre>
trabajar el empleado. Etiquete la columna como DAY. Ordene los resultados por el día
 
de la semana, empezando por el lunes.
 
 
SELECT last_name, hire_date,
 
SELECT last_name, hire_date,
TO_CHAR(hire_date, 'DAY') DAY
+
      TO_CHAR(hire_date, 'DAY') DAY
FROM
+
FROM employees
employees
 
 
ORDER BY TO_CHAR(hire_date - 1, 'd');
 
ORDER BY TO_CHAR(hire_date - 1, 'd');
e
+
</pre>
l
+
 
c
+
4) Cree una consulta que muestre los apellidos y comisiones de los empleados. Si un empleado no obtiene ninguna comisión, indique "No Commission". Etiquete la columna como COMM.
a
+
<pre>
r
 
O ly
 
& On
 
l
 
a e
 
n
 
r
 
s
 
e
 
t
 
U
 
n
 
I
 
e
 
d
 
a
 
c
 
A
 
4) Cree una consulta que muestre los apellidos y comisiones de los empleados. Si un
 
empleado no obtiene ninguna comisión, indique "No Commission". Etiquete la
 
columna como COMM.
 
 
SELECT last_name,
 
SELECT last_name,
NVL(TO_CHAR(commission_pct), 'No Commission') COMM
+
      NVL(TO_CHAR(commission_pct), 'No Commission') COMM
FROM
+
FROM employees;
employees;
+
</pre>
 +
 
 
5) Con la función DECODE, escriba una consulta que muestre el grado de todos los
 
5) Con la función DECODE, escriba una consulta que muestre el grado de todos los
 
empleados según el valor de la columna JOB_ID, utilizando los siguientes datos:
 
empleados según el valor de la columna JOB_ID, utilizando los siguientes datos:

Revisió del 17:09, 9 nov 2017

1) Cree un informe que produzca los siguientes resultados para cada empleado: <apellido_empleado> earns <salario> mensual pero desea<3 veces el salario.>.Etiquete la columna como Dream Salaries.

SELECT last_name || ' earns '
       || TO_CHAR(salary, 'fm$99,999.00')
       || ' monthly but wants '
       || TO_CHAR(salary * 3, 'fm$99,999.00')
       || '.' "Dream Salaries"
FROM employees;

2) Muestre el apellido, fecha de contratación y fecha de revisión de salario de cada empleado, que es el primer lunes después de seis meses de contrato. Etiquete la columna como REVIEW. Formatee las fechas para que aparezcan en un formato similar a “Lunes treinta y uno de julio de 2000”.

SELECT last_name, hire_date,
       TO_CHAR(NEXT_DAY(ADD_MONTHS(hire_date, 6),'MONDAY'),
       'fmDay, "the" Ddspth "of" Month, YYYY') REVIEW
FROM employees;

3) Muestre el apellido, fecha de contratación y día de la semana en el que empezó a trabajar el empleado. Etiquete la columna como DAY. Ordene los resultados por el día de la semana, empezando por el lunes.

SELECT last_name, hire_date,
       TO_CHAR(hire_date, 'DAY') DAY
FROM employees
ORDER BY TO_CHAR(hire_date - 1, 'd');

4) Cree una consulta que muestre los apellidos y comisiones de los empleados. Si un empleado no obtiene ninguna comisión, indique "No Commission". Etiquete la columna como COMM.

SELECT last_name,
       NVL(TO_CHAR(commission_pct), 'No Commission') COMM
FROM employees;

5) Con la función DECODE, escriba una consulta que muestre el grado de todos los empleados según el valor de la columna JOB_ID, utilizando los siguientes datos: Cargo Grado e l c AD_PRES ST_MAN IT_PROG SA_REP ST_CLERK None of the above a r O A B C D E 0 SELECT job_id, decode (job_id, 'ST_CLERK', 'SA_REP', 'IT_PROG', 'ST_MAN', 'AD_PRES', '0')GRADE FROM employees; 'E', 'D', 'C', 'B', 'A', 6) Vuelva a escribir la sentencia del ejercicio anterior utilizando la sintaxis CASE. SELECT job_id, CASE WHEN WHEN WHEN WHEN WHEN ELSE FROM employees; job_id 'ST_CLERK' THEN 'SA_REP' THEN 'IT_PROG' THEN 'ST_MAN' THEN 'AD_PRES' THEN '0' END GRADE 'E' 'D' 'C' 'B' 'A'