Вы находитесь на странице: 1из 5

ESCUELA POLITCNICA NACIONAL

DEPARTAMEN TO DE INFORMTICA Y CIENCIAS DE COMPU TACIN

FACULTAD DE INGENIERA EN SISTEMAS INFORMTICOS Y DE COMPUTACIN

TEMA: EJERCICIOS RESUELTOS EN MySQL

MATERIA: Bases De Datos PROFESOR: ING. ROSA NAVARRETE REALIZADO POR: MySQL

EJERCICIOS RESUELTOS EN MySQL

Bases de

atos

2011

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;

Bases de

atos

2011

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.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.

DELIMITER // CREATE PROCEDURE numero_ordenes(in codId int,out num_ordenes int) BEGIN

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.

GROUP BY j.job_desc, p.pub_name,e.job_lvl*/

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;

Вам также может понравиться