Está en la página 1de 4

TALLER No.

2 CONSULTAS CON VARIAS ENTIDADES

1. Liste el apellido, el Id del departamento y el nombre del departamento de todos los


empleados

select e.last_name Apellido_Empleado, d.id IdDept, d.name Departamento


from s_emp e, s_dept d where e.dept_id=d.id;

2. Liste el Id del departamento, el id de la regin y el nombre de la regin de todos los


departamentos

select d.id IdDept, r.id IdRegion, r.name Region from s_dept d, s_region r
where d.region_id=r.id;

3. Liste el apellido, el Id del departamento y el nombre del departamento de los empleados con
apellido Menchu

select e.last_name Apellido_Empleado, d.id IdDept, d.name Dept from s_emp


e, s_dept d where e.dept_id=d.id and e.last_name='Menchu';

4. Liste el Id de la regin, el nombre de la regin, el Id del departamento y el nombre del


departamento de todos los departamentos que pertenecen a la regin North Amrica.

select r.id IdRegion, r.name Region, d.id IdDept, d.name Dept from s_dept
d, s_region r where r.id=d.region_id and r.name='North America';

5. Liste los nombres de los representantes de ventas. Y, de todos los clientes el Id y los
nombres.

SELECT e.first_name||' '||e.last_name "NombRep" , c.id "ID_Cliente",


c.name "NomCliente" FROM s_emp e, s_customer c Where e.id =
c.sales_rep_id;

6. Liste el Id de los clientes, los nombres de los clientes y l id de las ordenes. De todos los
clientes con o sin rdenes.

SELECT c.id Id Cliente , c.name "Nombre Cliente", o.id "ID Orden" from s_customer c , s_ord o
where c.id = o.customer_id(+);
7. Seleccionar los nombres de los productos con su fecha de recargue

SELECT p.name "NomProducto", i.restock_date "FechaRecargue" from s_product


p, s_inventory i where p.id = i.product_id and i.restock_date IS NOT NULL;

8. Seleccionar los empleados con sus departamentos y regiones

SELECT e.first_name||' '||e.last_name "NomEmpleado", d.name Depto, r.name


Region FROM s_emp e , s_region r, s_dept d WHERE e.dept_id= d.id and
e.region_id=d.region_id and r.id = d.region_id;

9. Seleccionar los productos con sus regiones

select p.name Producto, r.name "Region" from s_product p, s_inventory i,


s_warehouse w, s_region r WHERE p.id=i.product_id and i.warehouse_id= w.id
and w.region_id=r.id ORDER BY p.name;

10. Seleccionar los representantes de ventas que han hecho rdenes de tems con ms de 500
unidades.

select distinct(e.first_name ||' '||e.last_name) "NomRepresentante" from


s_emp e, s_item i, s_ord o where o.sales_rep_id = e.id and o.id = i.ord_id
and i.quantity>500;

11. Seleccionar los clientes y empleados que trabajan en la misma regin

12. Seleccionar los productos que se han vendido y cuentan con un stock de ms de 130
unidades. ayuda: utilizar el distinct (product.name))

select distinct(p.name) Producto, inv.amount_in_stock Stock From s_product


p, s_item i, s_inventory inv WHERE p.id = i.product_id and p.id=
inv.product_id and inv.amount_in_stock>130;

13. Seleccionar los nombres completos de los representantes de ventas

SELECT e.first_name||' '||e.last_name "NomRep Ventas" FROM s_emp e Where


e.title like 'Sales Representative' ;

14. Seleccionar los nombres completos de los empleados que no son representantes de ventas

SELECT e.first_name||' '||e.last_name "NombreEmp", e.title "Cargo"


FROM s_emp e Where e.title NOT like 'Sales Representative';
15. Seleccionar los nombres completos y cargo tanto de los empleados con sus subalternos
(debe listar empleado y subalterno)

SELECT j.first_name||' '||j.last_name "NombreEmp", j.title "CargoEmp",


s.first_name||' '||s.last_name "NomSubA", s.title "CargoSubA" FROM
s_emp j, s_emp s WHERE j.id = s.manager_id;

16. Seleccionar los nombres completos y cargo de los empleados que tienen subalternos (debe
listar solo los empleados)

SELECT j.id, j.first_name||' '||j.last_name "NomEmp", j.title "CargoEmp" FROM s_emp j, s_emp
s WHERE j.id = s.manager_id;

17. Seleccionar los nombres completos y cargos de todos los empleados con sus subalternos
tengan o no tengan subalternos.

SELECT j.first_name||' '||j.last_name "NomEmp", j.title "CargoEmp", s.first_name||' '||


s.last_name "NomSubA", s.title "CargoSubA" FROM s_emp j, s_emp s WHERE j.id =
s.manager_id(+);

18. Seleccionar los nombres completos y cargos de todos los empleados que no tienen
subalternos.

SELECT j.first_name||' '||j.last_name "NomEmp", j.title "CargoEmp" FROM s_emp j, s_emp s


WHERE j.id = s.manager_id(+) MINUS SELECT j.first_name||' '||j.last_name "Nombre Jefe",
j.title "Cargo del Empledo" FROM s_emp j, s_emp s WHERE j.id = s.manager_id;

19. Seleccionar los nombres completos y cargo de los subalternos que no tienen jefes

SELECT s.first_name||' '||s.last_name "Nombre SubA", s.title "Cargo


SubAlterno" FROM s_emp j, s_emp s WHERE j.id(+) = s.manager_id MINUS
SELECT s.first_name||' '||s.last_name "Nom SubA", s.title "Cargo
SubAlterno" FROM s_emp j, s_emp s WHERE j.id = s.manager_id;

20. Seleccionar los productos que no estn en el inventario.

SELECT p.name Producto FROM s_product p WHERE p.id NOT IN (select


i.product_id FROM s_inventory i);
21. Seleccionar los productos que nunca se han pedido.

select p.name Producto FROM s_product p, s_item i WHERE p.id =


i.product_id(+) MINUS select p.name Producto FROM s_product p, s_item i
WHERE p.id = i.product_id;

22. Seleccionar las regiones que no tienen productos en el inventario

SELECT R.name FROM s_region R WHERE R.name NOT IN (SELECT R.name FROM
s_region R, s_warehouse W, s_inventory I, s_product P WHERE R.id =
W.region_id and W.id = i.warehouse_id and P.id = I.product_id);

23. Seleccionar el salario total y promedio de cada uno de los empleados

Select e.first_name ||' '|| e.last_name "Nombre empleado", e.salary


"Salario", e.salary + NVL(e.commission_pct,0)*e.salary/100 "Con comision"
From s_emp e;

24. Generar un listado de los empleados indicando si ganan o no comisin.

select e.first_name ||' '||e.last_name Empleado,


NVL2(e.commission_pct,'Gana', 'No Gana') Comision FROM s_emp e;

También podría gustarte