26 - Otros operadores relacionales (between) |
En una página web se guardan los siguientes datos de las visitas: número de visita, nombre, mail, pais, fechayhora de la visita.
1- Elimine la tabla "visitas" y créela con la siguiente estructura:
drop table visitas; create table visitas ( nombre varchar2(30) default 'Anonimo', mail varchar2(50), pais varchar2(20), fecha date );
2- Ingrese algunos registros:
insert into visitas values ('Ana Maria Lopez','AnaMaria@hotmail.com','Argentina','10/10/2006'); insert into visitas values ('Gustavo Gonzalez','GustavoGGonzalez@gotmail.com','Chile','10/10/2006'); insert into visitas values ('Juancito','JuanJosePerez@hotmail.com','Argentina','11/10/2006'); insert into visitas values ('Fabiola Martinez','MartinezFabiola@hotmail.com','Mexico','12/10/2006'); insert into visitas values ('Fabiola Martinez','MartinezFabiola@hotmail.com','Mexico','12/09/2006'); insert into visitas values ('Juancito','JuanJosePerez@gmail.com','Argentina','12/09/2006'); insert into visitas values ('Juancito','JuanJosePerez@hotmail.com','Argentina','15/09/2006'); insert into visitas values ('Federico1','federicogarcia@xaxamail.com','Argentina',null);
3- Seleccione los usuarios que visitaron la página entre el '12/09/2006' y '11/10/2006' (6 registros)
Note que incluye los de fecha mayor o igual al valor mínimo y menores o iguales al valor máximo, y que los valores nulos no se incluyen.
drop table visitas; create table visitas ( nombre varchar2(30) default 'Anonimo', mail varchar2(50), pais varchar2(20), fecha date ); insert into visitas values ('Ana Maria Lopez','AnaMaria@hotmail.com','Argentina','10/10/2006'); insert into visitas values ('Gustavo Gonzalez','GustavoGGonzalez@gotmail.com','Chile','10/10/2006'); insert into visitas values ('Juancito','JuanJosePerez@hotmail.com','Argentina','11/10/2006'); insert into visitas values ('Fabiola Martinez','MartinezFabiola@hotmail.com','Mexico','12/10/2006'); insert into visitas values ('Fabiola Martinez','MartinezFabiola@hotmail.com','Mexico','12/09/2006'); insert into visitas values ('Juancito','JuanJosePerez@gmail.com','Argentina','12/09/2006'); insert into visitas values ('Juancito','JuanJosePerez@hotmail.com','Argentina','15/09/2006'); insert into visitas values ('Federico1','federicogarcia@xaxamail.com','Argentina',null); select *from visitas where fecha between '12/09/2006' and '11/10/2006';
Trabaje con la tabla llamada "medicamentos" de una farmacia.
1- Elimine la tabla y créela con la siguiente estructura:
drop table medicamentos; create table medicamentos( codigo number(6) not null, nombre varchar2(20), laboratorio varchar2(20), precio number(6,2), cantidad number(4), fechavencimiento date not null, primary key(codigo) );
2- Ingrese algunos registros:
insert into medicamentos values(102,'Sertal','Roche',5.2,10,'01/02/2010'); insert into medicamentos values(120,'Buscapina','Roche',4.10,200,'01/12/2007'); insert into medicamentos values(230,'Amoxidal 500','Bayer',15.60,100,'28/12/2007'); insert into medicamentos values(250,'Paracetamol 500','Bago',1.90,20,'01/02/2008'); insert into medicamentos values(350,'Bayaspirina','Bayer',2.10,150,'01/12/2009'); insert into medicamentos values(456,'Amoxidal jarabe','Bayer',5.10,250,'01/10/2010');
3- Recupere los nombres y precios de los medicamentos cuyo precio esté entre 5 y 15 (2 registros)
4- Seleccione los registros cuya cantidad se encuentre entre 100 y 200 (3 registros)
5- Recupere los remedios cuyo vencimiento se encuentre entre la fecha actual y '01/01/2008' inclusive (2 registros)
6- Elimine los remedios cuyo vencimiento se encuentre entre el año 2007 y 2008 inclusive (3 registros)
drop table medicamentos; create table medicamentos( codigo number(6) not null, nombre varchar2(20), laboratorio varchar2(20), precio number(6,2), cantidad number(4), fechavencimiento date not null, primary key(codigo) ); insert into medicamentos values(102,'Sertal','Roche',5.2,10,'01/02/2010'); insert into medicamentos values(120,'Buscapina','Roche',4.10,200,'01/12/2007'); insert into medicamentos values(230,'Amoxidal 500','Bayer',15.60,100,'28/12/2007'); insert into medicamentos values(250,'Paracetamol 500','Bago',1.90,20,'01/02/2008'); insert into medicamentos values(350,'Bayaspirina','Bayer',2.10,150,'01/12/2009'); insert into medicamentos values(456,'Amoxidal jarabe','Bayer',5.10,250,'01/10/2010'); select nombre,precio from medicamentos where precio between 5 and 15; select *from medicamentos where cantidad between 100 and 200; select *from medicamentos where fechavencimiento between sysdate and '01/01/2008'; delete from medicamentos where extract(year from fechavencimiento) between '2007' and '2008';