Práctica 7-1: Uso de subconsultas para solucionar consultas
1) El departamento de recursos humanos necesita una consulta que solicite al usuario el apellido de un empleado. A continuación, la consulta muestra el apellido y la fecha de contratación de cualquier empleado en el mismo departamento del empleado cuyo nombre se proporciona (edxcepto ese empleado). Port ejemplo, si el usuario introduce Zlotkey, se buscarán todos los empleados que trabajen con Zlotkey (excepto Zlotkey).undefine entrada;
select last_name, hire_date from employees where department_id = (select department_id from employees where last_name = '&&entrada') and last_name <> '&entrada';
2) Cree un informe que muestre el número de mpleado, apellido y salario de todos los empleados que ganan más del salario medio. Ordene los resultados en orden ascendente de salario.
select employee_id, last_name, salary from employees
where salary >(select avg(salary) from employees)
order by salary;
3) Escriba una consulta que muestre el número de mpleado y el apellido de todos los empleados que trabajan en un departamento con un empleado cuyo apellido contiene una "u". Guarde la setencia SQL en un archivo denominado lab_07_03.sql.
select employee_id, last_name from employees
where department_id in (select distinct department_id from employees where last_name like '%u%');
4) El departamento de recursos humanos necesita un informe que muestre el apellido, número de departamento e ID de cargo de todos los empleados cuyo ID de ubicación de departamento sea 1700.
Modifique la consulta para que se solicite al usuario una ID de ubicación. Guarde estos datos en un archivo denominado lab_07_04.sql.
select last_name,department_id,job_id from employees
where department_id in (select department_id from departments where location_id = 1700);
5) Cree un informe para el departamento de recursos humanos que muestre el apellido y el salrio de cada empleado que realice informes para King.
SELECT last_name, salary
FROM employees
WHERE manager_id in (SELECT employee_id FROM employees WHERE last_name = 'King');
6) Cree un informe para el departamento de recursos humanos que muestre el número de departamento, apellido e ID de cargo de cada empleado del departamento Executive.
SELECT department_id, last_name, job_id
FROM employees
WHERE department_id = (SELECT department_id FROM departments WHERE department_name like 'Executive');
7) Cree un informe que muestre una lista de todos los empleados cuyo salario sea mayor que el salario de los empleados del departamento 60.
SELECT last_name, first_name, salary
FROM employees
WHERE salary > (SELECT max(salary) FROM employees WHERE department_id = '60');
8) Modifique la consulta del archivo lab_07_03.sql para mostrar el número de empleado, apellido y salario de todos los empleados que ganan más del salario medio y que trabajan en un departamento con cualquier empleado cuyo apellido contiene una "u". Vuelva a guardar lab_07_03.sql como lab_07_08.sql. Ejecute la setencia en el archivo lab_07_08.sql.
select employee_id, last_name, salary from employees
where department_id in (select distinct department_id from employees where last_name like '%u%')
and salary > (select avg(salary) from employees);
No hay comentarios:
Publicar un comentario