Solución de Ejercicios




Consultas en SQLite

1. Actualizar el precio unitario de los productos de la categoría CARNICOS, subiéndolos en un 10%        

select * from productos;


select * from categorias;

Ejecutamos:

update productos
set preciounit = preciounit * 1.1
where categoriaid in (select categoriaid from categorias where nombrecat = 'CARNICOS');

 Resultado:


2. Actualizar el teléfono celular del proveedor cuyo contacto es MANUEL ANDRADE, con el valor 099010291        

select * from proveedores;


Ejecutamos:

update proveedores
set celuprov'0990101222'
where contacto'MANUEL ANDRADE';

Resultado:




3. Borrar el producto YOGURT DE SABORES  

select * from productos;





Comandos:

delete from productos
where descripcion ='YOGURT DE SABORES';

Resultado




4.1 Mostrar todas las órdenes: el id de la orden, el apellido y nombre del empleado que la atendió el nombre de la compañía cliente y la fecha de orden

SELECT * FROM ORDENES;
 

select * from empleados;



select * from clientes;
 


Comandos

select ord.ordenid, emp.empleadoid, emp.nombre, emp.apellido,ord.fechaorden, cli.clienteid, cli.nombrecia
from ordenes ord join empleados emp on (ord.empleadoid=emp.empleadoid) join  clientes cli on( ord.clienteid=cli.clienteid)

Resultado




4.2 Mostrar la suma total de cada tipo de producto pedidos en todas las órdenes.                   



select * from detalle_ordenes;



Comandos



select productoidsum(cantidadas "Suma total"

from detalle_ordenes

group by productoid;


Resultado 


select * from empleados;





4.3 Mostrar el número de órdenes atendidas por cada empleado, incluidos los que tienen 0 órdenes.       



select * from ordenes;
 



Comandos

select nombre as "Nombre" , apellido as "Apellido"count(ord.empleadoidas "# de ordenes"
from empleados emp
left join ordenes ord
on emp.empleadoidord.empleadoid
group by nombreapellido;

Resultado





4.4 Muestre los proveedores y la suma de dinero vendido en los productos de ese proveedor.                 
select * from proveedores;

 
 
select * from productos;  


select * from detalle_ordenes;



Comandos

select prov.nombreprov as "Nombre",sum(d.cantidad *prod.preciounit ) as "Suma dinero"
from proveedores provproductos proddetalle_ordenes d
where d.productoidprod.productoid and prov.proveedorid=prod.proveedorid
group by nombreprov;

Resultado










En SQLite no es posible realizar procedimientos almacenados ya que no tiene programacion persistente.





1 comentario: