Está en la página 1de 9

Universidad Autónoma de Querétaro

Facultad de Informática

Diplomado de Oracle 11g

Práctica 6

Instrucciones: Cree las siguientes consultas. Adjunte, para cada ejercicio, la captura de pantalla del
resultado.

1. Escriba una consulta para visualizar el apellido del empleado, y el número y nombre de
departamento en el que trabaja.

SELECT last_name, department_id, department_name


FROM employees JOIN departments
USING (department_id);
2. Cree un listado de todos los cargos (job_id) sin repetirse que haya en el departamento 80.
Incluya la ubicación del departamento (location_id) en el resultado.

SELECT DISTINCT job_id, location_id


FROM employees JOIN departments
USING (department_id)
WHERE department_id = 80;
3. Escriba una consulta para mostrar el apellido del empleado, el nombre del departamento,
el identificador de ubicación y la ciudad de todos los empleados que perciben comisión.

SELECT last_name, department_name,location_id, commission_pct


FROM employees JOIN departments
USING (department_id)
WHERE commission_pct IS NOT NULL;
4. Visualice el apellido del empleado y el nombre de departamento para todos los empleados
que tengan una ‘a’ (minúscula) en el apellido.

SELECT last_name, department_name


FROM employees JOIN departments
USING (department_id)
WHERE last_name LIKE '%a%';
5. Escriba una consulta para visualizar el apellido, el cargo, el número de departamento y el
nombre de departamento para todos los empleados que trabajen en la ciudad de Toronto.

SELECT e.last_name, e.job_id, e.department_id, d.department_name


FROM employees e JOIN departments d
ON (e.department_id = d.department_id)
JOIN locations l
ON (d.location_id = l.location_id)
WHERE LOWER(l.city) = 'toronto';
6. Visualice el apellido y el número del empleado junto con el apellido y el nombre de su
gerente (manager) utilizando un self-join. Etiquete las columnas como Employee, Emp #,
Manager y Mgr #, respectivamente.

SELECT w.last_name "Employee", w.employee_id "EMP#",


m.last_name "Manager", m.employee_id "Mgr#"
FROM employees w join employees m
ON (w.manager_id = m.employee_id);
7. Modifique la consulta anterior para visualizar a todos los empleados incluyendo a King, que
no tiene gerente. Ordene los resultados por número de empleado.

SELECT w.last_name "Employee", w.employee_id "EMP#",


m.last_name "Manager", m.employee_id "Mgr#"
FROM employees w
LEFT OUTER JOIN employees m
ON (w.manager_id = m.employee_id)
ORDER BY 2;
8. Visualice la estructura de la tabla JOBS mediante el comando DESC. Cree una consulta en la
que pueda visualizar el nombre del empleado, nombre de departamento, el salario y el
título del cargo (job_title) de todos los empleados.

SELECT first_name, department_name, salary, job_title


FROM employees e
JOIN departments d
ON d.department_id = e.department_id
JOIN JOBS z
ON e.job_id = z.job_id;
9. Visualice los nombres y las fechas de contratación de todos los empleados contratados
antes que sus gerentes, junto con los nombres y las fechas de contratación de dichos
gerentes. Etiquete las columnas como Employees, Emp Hired, Manager y Mgr Hired,
respectivamente.

SELECT w.last_name "Employees", w.hire_date "Emp Hired", m.last_name "Manager ", m.hire_date
"Mgr Hired"
FROM employees w JOIN employees m
ON (w.manager_id = m.employee_id)
WHERE w.hire_date < m.hire_date;

También podría gustarte