ejerc. resueltos
TRANSCRIPT
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
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'
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
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;