4
ESCUELA POLITECNICA NACIONAL DEL ECUADOR INGENIERÍA EN SISTEMAS Jorge Bustamante Geovanny Páez Karem Santillán Cesar Tenemaza Base de Datos 09 de Diciembre del 2011 

Ejerc. Resueltos

Embed Size (px)

Citation preview

Page 1: Ejerc. Resueltos

8/3/2019 Ejerc. Resueltos

http://slidepdf.com/reader/full/ejerc-resueltos 1/4

ESCUELA POLITECNICA

NACIONAL DEL ECUADOR

INGENIERÍA EN SISTEMAS

Jorge BustamanteGeovanny Páez

Karem Santillán

Cesar Tenemaza

Base de Datos

09 de Diciembre del 2011 

Page 2: Ejerc. Resueltos

8/3/2019 Ejerc. Resueltos

http://slidepdf.com/reader/full/ejerc-resueltos 2/4

EJERCICIOS RESUELTOS EN MySQL

1.  Actualizar el precio unitario de los productos de la categoría CARNICOS,subiéndolos en un 10%

use pedidos;select * from productos where categoriaid= 100;UPDATE productosSET preciounit = (preciounit+ preciounit *0.1) where categoriaid= 100;

2.  Actualizar el teléfono celular del proveedor cuyo contacto es MANUELANDRADE, con el valor 099010291

select * from proveedores where contacto like 'MANUEL ANDRADE';UPDATE proveedoresSET celuprov= 099010291;

3.  Borrar el producto YOGURT DE SABORES

select * from productos WHERE descripcion like 'YOGURT DE SABORES';DELETE FROM productos WHERE descripcion like 'YOGURT DE SABORES';

4.  Realizar las siguientes consultas:

4.1.  Mostrar todas las órdenes: el id de la orden, el apellido y nombre delempleado que la atendió el nombre de la compañía cliente y la fecha de orden

select o.ordenid, o.fechaorden, e.nombre, e.apellido, cl.nombreciafrom ordenes o join empleados e on o.empleadoid = e.empleadoid join clientes cl on o.clienteid= cl.clienteid;

4.2.  Mostrar la suma total de cada tipo de producto pedidos en todas las órdenes.

select productoid,SUM(cantidad)AS'SUMA TOTAL' FROM detalle_ordenes groupby productoid;

4.3.  Mostrar el número de órdenes atendidas por cada empleado, incluidos losque tienen 0 órdenes.

select e.empleadoid as 'IdEmpleado', count(o.ordenid) AS 'Numero deOrdenes'

Page 3: Ejerc. Resueltos

8/3/2019 Ejerc. Resueltos

http://slidepdf.com/reader/full/ejerc-resueltos 3/4

from ordenes o RIGHT JOIN empleados e on o.empleadoid = e.empleadoidgroup by e.empleadoid;

4.4.  Muestre los proveedores y la suma de dinero vendido en los productos de ese

proveedor.select pv.proveedorid, pv.nombreprov as 'Nombre Proveedor',SUM(p.preciounit*d.cantidad)as 'DineroProVendidos'from productos p JOIN detalle_ordenes d on (p.productoid=d.productoid) join proveedores pv on(p.proveedorid=pv.proveedorid)group by pv.proveedorid;

5.  Realizar el siguiente procedimiento almacenado.

5.1.  Escriba un procedimiento almacenado que reciba como parámetro un código

de proveedor y devuelve el número de órdenes en las que están incluidosproductos de ese proveedor.

DELIMITER //CREATE PROCEDURE numero_ordenes(in codId int, out num_ordenes int)BEGINSELECT COUNT(d.productoid)INTO num_ordenesFROMproductos p join detalle_ordenes d on (p.productoid = d.productoid)

and p.proveedorid = codId;END//DELIMITER;DROP PROCEDURE numero_ordenes;CALL numero_ordenes (10, @total);select @total AS 'Total ordenes';

5.2.  Escriba un procedimiento almacenado que reciba como parámetro un nombrede una categoría y devuelve el código del producto de esa categoría que tienemás unidades vendidas.

GROUP BY j.job_desc, p.pub_name, e.job_lvl*/DELIMITER //CREATE PROCEDURE maximo_numero_unidades(in nombreCatvarchar(20), out productoidint)BEGIN

Page 4: Ejerc. Resueltos

8/3/2019 Ejerc. Resueltos

http://slidepdf.com/reader/full/ejerc-resueltos 4/4

SELECT deto.productoidINTO productoidFROMdetalle_ordenes deto join productos p on (deto.productoid = p.productoid) join categorias c on (p.categoriaid=c.categoriaid)

wheredeto.cantidad in (select MAX(SUM(deto.cantidad)) from detalle_ordenes)and c.nombrecat like nombreCatgroup by deto.productoid, deto.cantidad;END//DELIMITER;DROP PROCEDURE maximo_numero_unidades;CALL maximo_numero_unidades ('CARNICOS',@total);select @total;