Está en la página 1de 4

ESCUELA POLITECNICA NACIONAL DEL ECUADOR

INGENIERA EN SISTEMAS Jorge Bustamante Geovanny Pez Karem Santilln Cesar Tenemaza

Base de Datos

09 de Diciembre del 2011

EJERCICIOS RESUELTOS EN MySQL 1. Actualizar el precio unitario de los productos de la categora CARNICOS, subindolos en un 10% use pedidos; select * from productos where categoriaid= 100;UPDATE productos SET preciounit = (preciounit+ preciounit *0.1) where categoriaid= 100; 2. Actualizar el telfono celular del proveedor cuyo contacto es MANUEL ANDRADE, con el valor 099010291 select * from proveedores where contacto like 'MANUEL ANDRADE'; UPDATE proveedores SET 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 del empleado que la atendi el nombre de la compaa cliente y la fecha de orden select o.ordenid, o.fechaorden, e.nombre, e.apellido, cl.nombrecia from 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 group by productoid;

4.3.

Mostrar el nmero de rdenes atendidas por cada empleado, incluidos los que tienen 0 rdenes. select e.empleadoid as 'IdEmpleado', count(o.ordenid) AS 'Numero de Ordenes'

from ordenes o RIGHT JOIN empleados e on o.empleadoid = e.empleado idgroup 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 parmetro un cdigo de proveedor y devuelve el nmero de rdenes en las que estn incluidos productos de ese proveedor. DELIMITER // CREATE PROCEDURE numero_ordenes(in codId int, out num_ordenes int) BEGIN SELECT COUNT(d.productoid) INTO num_ordenes FROM productos 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 parmetro un nombre de una categora y devuelve el cdigo del producto de esa categora que tiene ms unidades vendidas. GROUP BY j.job_desc, p.pub_name, e.job_lvl*/ DELIMITER // CREATE PROCEDURE maximo_numero_unidades(in nombreCat varchar(20), out productoidint) BEGIN

SELECT deto.productoid INTO productoid FROM detalle_ordenes deto join productos p on (deto.productoid = p.productoid) join categorias c on (p.categoriaid=c.categoriaid) where deto.cantidad in (select MAX(SUM(deto.cantidad)) from detalle_ordenes) and c.nombrecat like nombreCat group by deto.productoid, deto.cantidad; END // DELIMITER; DROP PROCEDURE maximo_numero_unidades; CALL maximo_numero_unidades ('CARNICOS',@total); select @total;

También podría gustarte