ejerc. resueltos

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 

Upload: andres-bustamante

Post on 06-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

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;