You are on page 1of 3

Alumno : Jorge Erickson Paz Diaz

Codigo: U19103472

Ejercicio 2

A)

select Employee_Id, First_Name, Last_Name, Salary, nvl(Commission_pct,0) from


hr.employees

B)

Select Employee_id, First_Name, Last_Name, Salary , (Salary*0.25) as "Aumento",

((Salary*0.25)+salary) as "Salario Aumentado" from hr.Employees

C)

select department_id, MIN(salary) Minimo ,MAX(salary) Maximo ,Sum(salary) as "Suma Total",

ROUND(AVG(salary),2) As "Promedio Salarios" from hr.Employees

group by department_id

D)

select * from hr.Employees where UPPER(last_name) like '%A%' and Job_id like 'SA%' and
salary> ((select min(salary) from hr.Employees )*2)

E)

select E.Employee_id, E.Last_Name, E.First_Name,Job_Title,E.Salary, D.Department_Name ,


EE.Last_Name as "Manager Name" from hr. Employees E join hr.departments D on
E.department_id=D.department_id join hr.jobs J on E.job_id=J.job_id join hr.Employees EE on
E.Manager_ID=EE.Employee_id

3.-

CREATE OR REPLACE PROCEDURE BUSCAR(pId_Emp HR.Employees.Employee_id%TYPE)

AS

vSalary HR.Employees.Employee_id%TYPE;

vFirst_Name HR.Employees.First_name%TYPE;

vLast_Name HR.Employees.Last_name%TYPE;

BEGIN
SELECT Last_Name,First_Name, salary INTO vLast_Name, vFirst_Name, vSalary

FROM HR.EMPLOYEES

WHERE Employee_Id=pId_Emp;

DBMS_OUTPUT.PUT_LINE('Trabajador '||vLast_Name||', '

||vFirst_Name||'Su salario es: '||vSalary);

EXCEPTION

WHEN NO_DATA_FOUND THEN

DBMS_OUTPUT.PUT_LINE('No se encontro empleado con codigo '||pId_Emp);

END;

EXEC BUSCAR(100);

4.-

CREATE OR REPLACE FUNCTION CALCULAR_TIEMPO_SERVICIO(pId_Emp


HR.Employees.Employee_id%TYPE)

RETURN NUMBER

AS

tiempo_servicio NUMBER;

BEGIN

select trunc(months_between(sysdate,hire_date)/12) into tiempo_servicio from


hr.employees where employee_id=pId_Emp;

return tiempo_servicio;

EXCEPTION WHEN NO_DATA_FOUND THEN

dbms_output.put_line('No se ha encontrado');

return null ;

END CALCULAR_TIEMPO_SERVICIO;
begin

DBMS_OUTPUT.PUT_LINE(CALCULAR_TIEMPO_SERVICIO(300));

end;

You might also like