ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Guia SQL.


Enviado por   •  30 de Marzo de 2016  •  Trabajo  •  469 Palabras (2 Páginas)  •  186 Visitas

Página 1 de 2

1.

  1. Se ha detectado que dado el trabajo que desempeñan, existen empleados que no les corresponde percibir el mismo salario del empleado 204. Dado esto, se requiere saber la identificación, nombre (nombre y apellido concatenados), trabajo y el salario de estos empleados (incluyendo al empleado 204). La información se debe  mostrar como se visualiza en el ejemplo

 

SELECT EMPLOYEE_ID AS "EMPLEADO", FIRST_NAME ||' '|| LAST_NAME AS "EMPLEADO", JOB_ID, TO_CHAR(SALARY,'$999,999' )AS "SALARIO"
FROM HR.EMPLOYEES
WHERE SALARY = (SELECT SALARY
               FROM HR.EMPLOYEES
               WHERE EMPLOYEE_ID = 204);

               

  1. La empresa desea mejorar la situación económica de los empleados cuyo salario es menor al salario promedio entre todos los empleados. Inicialmente la idea es aumentar los salarios de estos empleados según el tiempo que llevan trabajando en la empresa a la fecha actual (puede ser según los días, meses o años que lleva trabajando). Para ello, se requiere saber nombre, apellido, salario actual, total de días, total de meses y años que llevan contratados los empleados que se encuentran en esta condición. La información se debe mostrar en el formato del ejemplo  y ordena en forma ascendente por salario e  identificación del empleado (la información que se muestra se obtuvo en Febrero del 2014)

SELECT EMPLOYEE_ID AS "EMPLEADO", TO_CHAR(SALARY, '99,999') AS "SALARIO ACTUAL", TO_CHAR(HIRE_DATE, 'DD/MM/YYYY') AS "FECHA CONTRATO", ROUND(SYSDATE - HIRE_DATE) AS "DIAS TRABAJADOS", ROUND(MONTHS_BETWEEN(SYSDATE,HIRE_DATE)) AS "MESES CONTRATADOS", ROUND(MONTHS_BETWEEN(SYSDATE, HIRE_DATE)/12) AS "AÑOS TRABAJADOS"
FROM HR.EMPLOYEES
WHERE SALARY < (SELECT AVG(SALARY) FROM HR.EMPLOYEES)
ORDER BY SALARY, JOB_ID;

  1. Dado la gran diferencia en la distribución actual de los empleados en los diferentes departamentos, se efectuará una nueva redistribución con el objetivo de corregir esta situación. Por lo tanto, la primera medida será cambiar algunos empleados del departamento que tenga más empleados. Para ello, se requiere saber el nombre del departamento y el total de empleados del departamento que cumpla con esa condición como se muestra en el ejemplo: 

SELECT d.DEPARTMENT_NAME AS "DEPARTAMENTO", COUNT(e.EMPLOYEE_ID) AS "TOTAL DE EMPLEADOS"
FROM HR.EMPLOYEES e JOIN HR.DEPARTMENTS d USING (DEPARTMENT_ID)
GROUP BY d.DEPARTMENT_NAME
HAVING COUNT(e.EMPLOYEE_ID) = (SELECT MAX(COUNT(e.EMPLOYEE_ID))
                             FROM HR.EMPLOYEES e JOIN HR.DEPARTMENTS d
                             USING (DEPARTMENT_ID)
                             GROUP BY d.DEPARTMENT_NAME);

...

Descargar como (para miembros actualizados) txt (3 Kb) pdf (85 Kb) docx (9 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com