72 - Funciones SQL |
Trabaje con la tabla llamada "medicamentos" de una farmacia. 1- Cree la tabla con la siguiente estructura: create table medicamentos( codigo serial, nombre varchar(20), laboratorio varchar(20), precio decimal(5,2), cantidad smallint, primary key(codigo) ); 2- Ingrese algunos registros: insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Sertal','Roche',5.2,100); insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Buscapina','Roche',4.10,200); insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Amoxidal 500','Bayer',15.60,100); insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Paracetamol 500','Bago',1.90,200); insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Bayaspirina','Bayer',2.10,150); insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Amoxidal jarabe','Bayer',5.10,250); 3- Implementar una función que retorne el precio promedio de la tabla medicamentos. 4- Imprimir el precio promedio de los medicamentos. 5- Imprimir los medicamentos que tienen un precio mayor al promedio.Ver solución
create table medicamentos( codigo serial, nombre varchar(20), laboratorio varchar(20), precio decimal(5,2), cantidad smallint, primary key(codigo) ); insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Sertal','Roche',5.2,100); insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Buscapina','Roche',4.10,200); insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Amoxidal 500','Bayer',15.60,100); insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Paracetamol 500','Bago',1.90,200); insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Bayaspirina','Bayer',2.10,150); insert into medicamentos (nombre,laboratorio,precio,cantidad) values('Amoxidal jarabe','Bayer',5.10,250); create or replace function preciopromedio() returns decimal as 'select avg(precio) from medicamentos;' language sql; select preciopromedio(); select * from medicamentos; select * from medicamentos where precio>preciopromedio();