Professional Documents
Culture Documents
MATERIA: Bases De Datos PROFESOR: ING. ROSA NAVARRETE REALIZADO POR: MySQL
Bases de
atos
2011
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;
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;
Bases de
atos
2011
4.2 Mostrar la suma total de cada tipo de producto pedidos en todas las rdenes.
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.empleadoid group 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.preciouni *d.cantidad) t 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.
Bases de
atos
2011
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.
DELIMITER // CREATE PROCEDURE maximo_numero_unidades(in nombreCat varchar(20), out productoid int) 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)
Bases de
atos
2011
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;