T08.001- Obtener el precio total por línea para el pedido 1, en la salida aparecerá los campos numlinea, articulo y el campo calculado total.
select linea, articulo, (precio * cantidad)
from linped
where numPedido = 1;
from linped
where numPedido = 1;
T08.002- Obtener la cantidad de provincias distintas de las que tenemos conocimiento de algún usuario.
select count(distinct provincia)
from usuario;
T08.003- Cantidad de usuarios de nuestra BD.
from usuario;
T08.003- Cantidad de usuarios de nuestra BD.
select count(*)
from usuario;
from usuario;
T08.004- Número de articulos con precio de venta mayor de 200 euros.
select count(*)
from articulo
where pvp > 200;
from articulo
where pvp > 200;
T08.005- Total en euros de la cesta del usuario "bmm@agwab.com".
select sum(ar.pvp)
from cesta ce, articu
from cesta ce, articu
where (ce.usuario = 'bmm@agwab.com')
and (ce.articulo = ar.cod);
and (ce.articulo = ar.cod);
T08.006- Tamaño máximo de pantalla para las televisiones.
select MAX(pantalla)
from tv;
from tv;
T08.007- Media de precios de venta al público distintos de los articulos, redondeada a dos decimales.
select round(avg(distinct pvp),2)
from articulo;
from articulo;
T08.008- Nombre y precio de los articulos con el mínimo stock disponible.
select ar.nombre,ar.pvp
from articulo ar, stock sto
where (ar.cod = sto.articulo)
and disponible = (select min(disponible) from stock);
from articulo ar, stock sto
where (ar.cod = sto.articulo)
and disponible = (select min(disponible) from stock);
T08.009- Número de pedido, fecha y nombre y apellidos del usuario de las lineas de pedido cuyo total en euros es el más alto.
select p.numPedido,fecha,nombre,apellidos
from pedido p,linped l,usuario u
where p.usuario=email
and p.numPedido=l.numPedido
and (cantidad*precio)=(select max(cantidad*precio) from linped);
from pedido p,linped l,usuario u
where p.usuario=email
and p.numPedido=l.numPedido
and (cantidad*precio)=(select max(cantidad*precio) from linped);
T08.010- Máximo, mínimo y media de precio de venta de los artículos.
select MAX(pvp) max_Pvp, MIN(pvp) min_Pvp, AVG(pvp) media_Pvp
from articulo;
from articulo;
T08.011- Código, nombre, pvp y fecha de incorporación del artículo a la cesta más reciente.
select cod, nombre, pvp
from cesta, articulo
where articulo=cod and fecha=(select MAX(fecha) from cesta);
from cesta, articulo
where articulo=cod and fecha=(select MAX(fecha) from cesta);
T08.012- Cantidad de artículos que están descatalogados.
select count(*) Num_Art_Desc
from stock
where entrega='Descatalogado'
T08.013- Precio máximo del artículo en stock que será entregado próximamente.
from stock
where entrega='Descatalogado'
T08.013- Precio máximo del artículo en stock que será entregado próximamente.
select max(pvp)
from articulo, stock
where cod=articulo
and entrega='Próximamente';
from articulo, stock
where cod=articulo
and entrega='Próximamente';
T08.014- Nombre, código y disponible en stock para todos los artículos cuyo código acabe en 3, siendo ese disponible el mínimo de toda la tabla.
select nombre, cod, disponible MinDisp
from stock, articulo
where articulo=cod and cod like '%3'
and disponible=(select MIN(disponible) from stock);
from stock, articulo
where articulo=cod and cod like '%3'
and disponible=(select MIN(disponible) from stock);
T08.015- Precio máximo, mínimo y medio en los pedidos que incluyen el artículo “Bravia KDL-32EX402”
select MAX(precio) Max_Prec, MIN(precio) Min_Prec, AVG(precio) Prec_Med
from linped l, articulo a
where a.cod=l.articulo and a.nombre='Bravia KDL-32EX402';
T08.016- Cantidad total que se ha pedido de los artículos cuyo nombre empieza por "UE22".
select SUM(cantidad) cant_Tot
from linped, articulo
where articulo=cod and nombre like 'UE22%';
from linped, articulo
where articulo=cod and nombre like 'UE22%';
T08.017- Precio medio de los artículos incluidos en la línea de pedido número 4, redondeado a 3 decimales.
select round(avg(precio),3) PrecioMedio
from linped
where linea=4;
from linped
where linea=4;
T08.018- Número de pedido, nombre, teléfono y email de usuario del pedido (o los pedidos) que contiene líneas de pedido cuyo precio sea igual al precio más alto de entre todas las segundas líneas de todos los pedidos.
select l.numPedido, nombre, telefono, email
from usuario u, pedido p, linped l
where l.numPedido=p.numPedido
and p.usuario=u.email
and precio=(select MAX(precio) from linped where linea=2);
from usuario u, pedido p, linped l
where l.numPedido=p.numPedido
and p.usuario=u.email
and precio=(select MAX(precio) from linped where linea=2);
T08.019- Diferencia entre el precio máximo y el precio mínimo del pedido número 30.
select (MAX(precio)-MIN(precio)) Diff
from linped
where numPedido=30;
from linped
where numPedido=30;
T08.020- Código, nombre, precio de venta del artículo que más hay en stock.
select cod,nombre,pvp
from articulo,stock
where cod=articulo and disponible = (select MAX(disponible) from stock);
from articulo,stock
where cod=articulo and disponible = (select MAX(disponible) from stock);
T08.021- Fecha de nacimiento del usuario más viejo.
select MIN(nacido) from usuario;
No hay comentarios:
Publicar un comentario