Práctica 8-1: Uso de los peradores de definición
1) El departamento de recursos humanos necesita una lista de ID de departamento que no contienen el ID de cargo ST_CLERK. Utilice los operadores de definición para crear este informe.select department_id from departments
minus
select department_id from employees
where job_id ='ST_CLERK';
2) El departamento de recursos humanos necesita una lista de países que no tienen ningún departamento. Muestre el ID de país y el nombre de los países. Utilice los operadores de dedinición para crear este informe.
select country_id, country_name from countries
minus
select country_id, country_name from countries
join locations using (country_id) join departments using (location_id);
3) Cree una lista de cargos para los departamentos 10, 50 y 20, en ese orden. Muestre los ID de cargo y departamento mediante los operadores de definición.
select distinct job_id, department_id from employees
where (department_id=10) or (department_id=50) or (department_id=20);
Forma corecta para el ejercicio
select distinct job_id, department_id from employees
where (department_id=10)
union
select distinct job_id, department_id from employees
where (department_id=50)
union
select distinct job_id, department_id from employees
where (department_id=20);
4) Cree un informe que muestre los ID de empleado y de cargo de los empleados que actualmente tienen un puesto que es el mismo que tenían cuando fueron contratados ( es decir, han cambiado de cargo pero ahora han vuelto a su puesto original).
select employee_id, job_id from employees
intersect
select distinct employee_id, job_id from job_history;
5) El departamento de recursos humanos necesita un informe con las siguientes especificaciones:
- ID de departamento y apellido de todos los empleados de la tabla EMPLOYEES, independientemente que si pertenecen o no a un departamento.
- El nombre e ID de departamento de todos los departamentos de la tabla DEPARTMENTS, independientemente de si hay o no empleados trabajando en dichos departamentos.
select last_name, department_id, to_char(null) from employees
union
select to_char(null), department_id, department_name from departments;
No hay comentarios:
Publicar un comentario