jueves, 17 de marzo de 2011

Soluciones T02

T02.001- Obtén toda la información de los usuarios

select * from usuario;


T02.002- Lista los email y nombre y apellidos de los usuarios

select email,nombre,apellidos from usuario

T02.003- Lista los email y nombre y apellidos de los usuarios ordenados por email

select email,nombre,apellidos
from usuario
order by email;

T02.004- Lista los email y nombre y apellidos de los usuarios ordenados por apellidos y nombre

select email,nombre,apellidos
from usuario
order by apellidos,nombre;

T02.005- Lista los email y nombre y apellidos de los usuarios ordenados ascendentemente por apellidos y descendentemente por nombre

select email,nombre,apellidos
from usuario
order by apellidos,nombre desc;

T02.006- Lista los email y nombre y apellidos de los usuarios en orden descendente de apellidos y nombre
select email,nombre,apellidos
from usuario
order by apellidos desc, nombre desc;

T02.007- DNI,email,nombre y apellidos de los usuarios de la provincia de Asturias

select dni,email,u.nombre,apellidos
from usuario u, provincia pv
where u.provincia=codp and pv.nombre='Asturias';

T02.008- Provincias de las que se tienen usuarios

select pv.*
from usuario u, provincia pv
where u.provincia=codp;

T02.009- Provincias de las que se tienen usuarios, eliminando duplicados y ordenando por nombre

select distinct pv.*
from usuario u, provincia pv
where u.provincia=codp
order by pv.nombre;
Solución alternativa: 
select distinct pv.*
from usuario u, provincia pv
where u.provincia=codp
order by 2;

T02.010- Email de los usuarios de la provincia de Murcia que no tienen teléfono, acompañado en la salida por un mensaje que diga "No tiene teléfono"

select email, 'No tiene teléfono'
from provincia2, usuario
where provincia2.codp = usuario.provincia ANDprovincia2.provincia = 'Murcia' AND telefono is NULL


T02.011- Marcas
select marca from marca;

T02.012- Artículos que no tienen marca
select *
from articulo
where marca is null;

T02.013- Código de los artículos que pertenecen a algún pack.

select articulo
from ptienea, articulo
where articulo = cod


T02.014- Número de pack, nombre y precio del mismo.
select a.cod, nombre, pvp
from articulo a, pack p
where a.cod = p.cod;

T02.015- Código, nombre y marca de los articulos que pertenecen a algún pack.
select a.cod, nombre, marca
from articulo a, ptienea p
where a.cod = p.articulo;

T02.016- Código y precio de venta de los artículos solicitados en el pedido número 1. select cod, precio
from linped l, articulo a
where l.articulo = a.cod
and numPedido=1;

T02.017- Código, nombre, marca, pvp y precio de venta de los artículos solicitados en el pedido número 1.
select cod, nombre, marca, pvp, precio
from linped l, articulo a
where l.articulo = a.cod
and numPedido=1;

T02.018- Código, nombre, marca, pvp y precio de venta de los artículos solicitados en el pedido número 1 que sean televisores.

select articulo, nombre, marca, pvp, precio
from articulo, linped, tv
where numPedido = 1 AND articulo = articulo.cod AND tv.cod = articulo.cod

T02.019- Fecha y usuario del pedido, código, nombre, marca, pvp y precio de venta de los artículos solicitados en el pedido número 1 que sean televisores.

select fecha, usuario, articulo.cod, nombre, marca, pvp, precio
from pedido, articulo, linped, tv
where linped.numPedido = 1 AND linped.numPedido = pedido.numPedido ANDarticulo = articulo.cod AND tv.cod = articulo.cod

T02.021- Código,nombre y precio de venta al público de los artículos de menos de 100€; la salida ha de ser código, nombre, "tiene el precio de", pvp.
select cod, nombre, ' tiene precio de ', pvp
from articulo
where pvp<100;

T02.022- Código, sensor y pantalla de las cámaras que sí tienen esa descripción de pantalla, ordenado por código descendentemente; select cod, sensor, pantalla
from camara
where pantalla is not null
order by cod DESC;

T02.023- Panel de los televisores de 21 pulgadas o menos de pantalla, eliminando duplicados. select distinct panel 
from tv 
where pantalla<=21;

T02.024- Código, nombre, marca y precio de venta al público de los artículos que tienen ese precio entre 350 y 450.
select cod, nombre, marca, pvp
from articulo
where pvp between 350 and 450;

T02.025- Número de pack, nombre y precio del mismo, y código, nombre y pvp de los artículos que pertenezcan a ellos.

select pack.cod, articulo2.nombre, articulo2.pvp, articulo.cod, articulo.nombre, articulo.pvp
from pack, articulo, ptienea, articulo2
where ptienea.articulo = articulo.cod ANDpack.cod = articulo2.cod

No hay comentarios:

Publicar un comentario