Está en la página 1de 4

Prctica 5 1. Escriba una consulta para que el departamento de recursos humanos genere las direcciones de todos los departamentos.

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;

También podría gustarte