Practica 5 Oracle DBA 1
Practica 5 Oracle DBA 1
Utilice las tablas LOCATIONSy COUNTRIES. Muestre en la salida el identificador de ubicacin, el domicilio de calle, la ciud ad, el estado o la provincia y el pas. Utilice una unin natural para generar los resultad os. select location_id, street_address, city, state_province, country_name From Locations NATURAL JOIN countries; 2. El departamento de recursos humanos necesita un informe de todos los empleado s. Escriba una consulta para mostrar el apellido, el nmero de departamento y el nomb re de departamento de todos los empleados. select e.last_name, e.department_id, d.department_name from employees e join departments d on e.department_id = d.department_id;
3. El departamento de recursos humanos necesita un informe de los empleados de T oronto. Muestre el apellido, el puesto, el nmero de departamento y el nombre de departame nto de todos los empleados que trabajan en Toronto. SELECT e.last_name, j.job_id, d.department_id, d.department_name FROM employees e JOIN jobs j ON j.job_id = e.job_id JOIN departments d ON d.department_id = e.department_id JOIN locations l ON l.location_id = d.location_id AND l.city = 'Toronto';
4. Cree un informe que muestre el apellido del empleado y el nmero de empleado ju nto al apellido y nmero de supervisor del supervisor del empleado. Etiquete las columnas comoEmployee, Emp#, Managery Mgr#, respectivamente. Guarde la sentencia SQL
en un archivo de texto denominadolab_05_04.sql. SELECT e.last_name Employee,e.employee_id "emp#", m.last_name Manager,m.employee _id "mgr#" FROM employees e JOIN employees m ON (e.manager_id = m.employee_id); 5. Modifique lab_05_04.sqlpara que muestre todos los empleados, incluido King, q ue no tiene supervisor. Ordene los resultados por el nmero de empleado. Guarde la sentencia SQL en un archivo de texto denominado lab_05_05.sql. Ejecute la consulta en lab_05_05.sql. SELECT e.last_name employed, e.employee_id EMP#, m.last_name Manager, m.employee _id Mgr# FROM employees e LEFT OUTER JOIN employees m ON (e.manager_id = m.employee_id) order by e.employee_id;
6. Cree un informe para el departamento de recursos humanos que muestre los apel lidos, los nmeros de departamento y todos los empleadosque trabajan en el mismo departamento que un empleado dado. Proporcione a cada columna una etiqueta adecuada. Guarde e l archivo de comandos en un archivo denominado lab_05_06.sql. select e.department_id DEPARTMENT, e.last_name EMPLOYEE, m.last_name colleague from employees e join employees m on e.department_id = m.department_id and e.last_name <> m.last_name order by e.last_name, m.last_name;
7. El departamento de recursos humanos necesita un informe sobre grados de traba jo y salarios. Para familiarizarse con la tabla JOB_GRADES, muestre en primer lugar s u estructura. A continuacin, cree una consulta que muestre el apellido, el puesto, el nombre de departamento, el salario y el grado de todos los empleados. SELECT t.last_name, t.job_id, j.department_name, t.salary, CASE WHEN t.salary<3000 THEN 'A' WHEN t.salary<9000 THEN 'B'
WHEN t.salary<13000 THEN 'C' ELSE 'D' END GRADE FROM departments j JOIN employees t ON t.department_id = j.department_id ORDER BY grade, t.salary asc;select m.last_name, m.hire_date from employees e join employees m on m.hire_date > e.hire_date and e.last_name = 'Davies'; ; select e.last_name,j.job_id,d.department_name,e.salary from employees e join departments d on e.department_id=d.department_id join jobs j on e.job_id = j.job_id;
8. El departamento de recursos humanos quiere determinar los nombres de todos lo s empleados contratados despus de Davies. Cree una consulta para mostrar el nombre y la fecha de contratacin de cualquier empleado contratado despus que Davies. select e.last_name, e.hire_date from employees e, employees l where e.hire_date > l.hire_date and l.last_name = 'Davies'order by hire_date;
select m.last_name, m.hire_date from employees e join employees m on m.hire_date > e.hire_date and e.last_name = 'Davies'; ;
9. El departamento de recursos humanos necesita encontrar el nombre y la fecha d e contratacin de todos los empleados contratados antes que sus supervisores, junto con los
nombres y las fechas de contratacin de stos. Guarde el archivo de comandos en un archivo denominado lab5_09.sql. select m.last_name, m.hire_DATE,e.last_name, e.hire_date from employees e, employees m WHERE e.employee_id = m.manager_id and e.hire_date > m.hire_date order by m.last_name; SELECT e.last_name, e.hire_date, m.last_name, m.hire_date FROM employees e JOIN employees m ON (e.manager_id = m.employee_id) and (e.hire_date < m.hire_date) order by e.last_name; ON (e.manager_id = m.employee_id) WHERE e.hire_date < m.hire_SELECT e.last_name, TO_CHAR(e.hire_date) "HIRE_DATE", m.last_name SUPERVISOR, TO_CHAR(m.hire_date) "HIRE_DATE" FROM employees e JOIN employees mdate;