You are on page 1of 4

LA TIENDA DE INFORMATICA

1. Ingresar los datos que crea por conveniente, por lo menos 10 registros por tabla. Realizar las siguientes consultas:

CREATE TABLE FABRICANTE147 (CODIGO integer PRIMARY KEY, NOMBRE varchar(100));

CREATE TABLE ARTICULOS147 (CODIGO integer PRIMARY KEY , NOMBRE varchar(100) , PRECIO number , FABRICANTE_COD integer REFERENCES fabricante147(CODIGO));          

INSERT INTO fabricante147 (codigo , nombre ) values (1 , 'elizabeth'); INSERT INTO fabricante147 (codigo , nombre ) values (2 , 'elvis'); INSERT INTO fabricante147 (codigo , nombre ) values (3 , 'mariana'); INSERT INTO fabricante147 (codigo , nombre ) values (4 , 'ariana'); INSERT INTO fabricante147 (codigo , nombre ) values (5 , 'pedro'); INSERT INTO fabricante147 (codigo , nombre ) values (6 , 'renzo'); INSERT INTO fabricante147 (codigo , nombre ) values (7 , 'ramiro'); INSERT INTO fabricante147 (codigo , nombre ) values (8 , 'luz'); INSERT INTO fabricante147 (codigo , nombre ) values (9 , 'pedro'); INSERT INTO fabricante147 (codigo , nombre ) values (10 , 'salomon');

      

INSERT INTO articulos147 (codigo , nombre , precio , fabricante_cod ) values (200, 'pala' ,20 , 1); INSERT INTO articulos147 (codigo , nombre , precio , fabricante_cod ) values (202, 'mouse' ,80, 2 ); INSERT INTO articulos147 (codigo , nombre , precio , fabricante_cod ) values (204, 'pantalla' ,80, 3 ); INSERT INTO articulos147 (codigo , nombre , precio , fabricante_cod )

Obtener el nombre de los productos cuyo precio sea menor o igual a 200. INSERT INTO articulos147 (codigo . select avg(precio) as precio_medio from articulos147. nombre . INSERT INTO articulos147 (codigo . fabricante_cod ) values (210.80. nombre .             values (201.80. 'teclado' . fabricante_cod ) values (208. Obtener todos los datos de los artículos cuyo precio esté entre los 60 y los 120 (ambas cantidades incluidas). INSERT INTO articulos147 (codigo . 'laptop' . INSERT INTO articulos147 (codigo . 'computadora' . 6. select * from articulos147 where precio between 60 and 120 . . 'lapiz' . fabricante_cod ) values (209. select nombre . precio from articulos147. precio .80. Obtener el nombre y el precio en pesetas (es decir. precio . fabricante_cod ) values (207. 2. 5. nombre . INSERT INTO articulos147 (codigo . 7 ).80.80. nombre . 10 ). 4. precio .precio*166386 from articulos147 . nombre . precio .9 ). 7. Obtener los nombres y los precios de los productos de la tienda select nombre . precio . fabricante_cod ) values (206. select nombre from articulos147 where precio <=200. el precio en euros multiplicado por 166'386). precio . 5 ). 6 ). Obtener los nombres de los productos de la tienda select nombre from articulos147. nombre . 8 ).80. 3. 'programas' .80. 4 ). Seleccionar el precio medio de todos los productos. fabricante_cod ) values (205. INSERT INTO articulos147 (codigo . 'infrarrojo' . 'tablet' .

incluyendo el nombre del artículo.nombre . articulos147.fabricante_cod group by fabricante147.precio).codigo.codigo=articulos147.precio).fabricante147.precio . select avg(precio) from articulos147 where fabricante_cod=2. Obtener el nombre y precio de los artículos cuyo precio sea mayor o igual a 180 y ordenarlos descendentemente por precio. incluyendo por cada articulo los datos del articulo y de su fabricante. .fabricante147 where fabricante147. 12.nombre. 9. select avg(articulos147.codigo. 13. Obtener un listado de artículos.articulos147. articulos147. Obtener un listado completo de artículos.nombre from articulos147. fabricante147. 14.codigo=articulos147.fabricante147 where fabricante147.codigo=articulos147. y luego ascendentemente por nombre. select articulos147. select nombre . Obtener el precio medio de los productos de cada fabricante. select avg(articulos147. 10.nombre from articulos147.nombre . Obtener el precio medio de los productos de cada fabricante.precio . fabricante147 where fabricante147.precio from articulos147 where precio >=20 order by precio desc . mostrando solo los códigos de fabricante.codigo. fabricante147 where fabricante147.codigo from articulos147 . Obtener los nombres de los fabricantes que ofrezcan productos cuyo precio medio sea mayor o igual a 150.8. y el nombre de su fabricante. select articulos147. 15. select count(*) from articulos147 where precio>=180 . Obtener el número de artículos cuyo precio sea mayor o igual a 180. mostrando el nombre del fabricante.codigo=articulos147. nombre asc 11.fabricante_cod group by fabricante147.fabricante_cod. Obtener el precio medio de los artículos cuyo código de fabricante sea 2. fabricante147. su precio.nombre from articulos147 . fabricante147.fabricante_cod. fabricante147.

precio .nombre from articulos147 .fabricante147 where fabricante147.nombre.select avg(articulos147. fabricante147. update articulos147 set precio=precio*0. 18. precio from articulos147 where precio=(select min(precio)from articulos147).nombre from articulos147 . insert into articulos147 (nombre . .2).9 . Aplicar un descuento del 10 % a todos los productos. Aplicar un descuento de 10 a todos los productos cuyo precio sea mayor o igual a 120. select articulos147. Obtener el nombre y precio del artículo más barato. 19.nombre .codigo=articulos147. update articulos147 set nombre='impresora laser' where codigo=2. Añadir un nuevo producto: Altavoces de 70 (del fabricante 2). fabricante147 where fabricante147. 20.precio . 21.fabricante_cod group by fabricante147. Obtener una lista con el nombre y precio de los artículos más caros de cada proveedor (incluyendo el nombre del proveedor). 70 . select nombre.articulos147.fabricante_cod and precio=(select max(precio) from articulos147) . Cambiar el nombre del producto 8 a 'Impresora Laser'. 17.fabricante147. 16. update articulos147 set precio=precio-10 where precio>=102.codigo=articulos147.precio).fabricante_cod ) values ('altavoces' .