domingo, 17 de abril de 2011

Soluciones T10

T10.001- ¿Hay alguna fila en la tabla marca?
select exists (select * from marca)

T10.002- Email y nombre de los usuarios que no han pedido ninguna cámara.
select u.email, u.nomb
from usuario u
where not exists (select 1 from camara c,linped l, pedido p
where p.numPedido=l.numPedido and c.cod=l.articulo and u.email=p.usuario);

T10.003- Email y nombre de los usuarios que, habiendo realizado algún pedido, no han pedido ninguna cámara.
select u.email, u.nombre
from usuario u
where exists (select 1 from pedido p where u.email=p.usuario) and
not exists (select 1 from camara c,linped l, pedido p
where p.numPedido=l.numPedido and c.cod=l.articulo and u.email=p.usuario);

T10.004- Código y nombre del artículo que ha sido incluído en todos los pedidos.
select a.cod, a.nombre
from articulo a
where not exists (select 1 from pedido p where
not exists (select 1 from linped l where
l.numpedido=p.numpedido and l.articulo=a.cod));

T10.005- Código y nombre de los artículos que han sido solicitados en todos los pedidos del usuario acm@colegas.com.
select a.cod, a.nombre
from articulo a
were not exists (select 1 from pedido p where p.usuario='acm@colegas.com'
and not exists ( select 1 from linped l where p.numPedido=l.numPedido
and l.articulo=a.cod));

T10.006- ¿Hay alguna fila en la tabla marca? Si la respuesta es positiva, que muestre la palabra "sí".
select 'sí' respuesta
from dual
where exists (select 1 from marca);

T10.007- ¿Hay alguna fila en la tabla memoria? Si la respuesta es negativa, que muestre la palabra "no".
select 'no' respuesta
from dual
 where not exists (select 1 from memoria);

T10.008- Pedidos que incluyen cámaras y televisiones.
select * from pedido p
where exists (select 1 from linped l where l.numpedido=p.numpedido
and articulo in (select cod from tv))
and exists (select 1 from linped l where l.numpedido=p.numpedido
and articulo in (select cod from camara));

T10.009- Pedidos que incluyen cámaras y objetivos.
select * from pedido p
where exists (select 1 from linped l where l.numpedido=p.numpedido
and articulo in (select cod from camara))
and exists (select 1 from linped l where l.numpedido=p.numpedido
and articulo in (select cod from objetivo));

No hay comentarios:

Publicar un comentario