26 - Otros operadores relacionales (between) |
En una página web se guardan los siguientes datos de las visitas: nombre, mail, país y fecha 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/2016'); insert into visitas values ('Gustavo Gonzalez','GustavoGGonzalez@gotmail.com','Chile','10/10/2016'); insert into visitas values ('Juancito','JuanJosePerez@hotmail.com','Argentina','11/10/2016'); insert into visitas values ('Fabiola Martinez','MartinezFabiola@hotmail.com','Mexico','12/10/2016'); insert into visitas values ('Fabiola Martinez','MartinezFabiola@hotmail.com','Mexico','12/09/2016'); insert into visitas values ('Juancito','JuanJosePerez@gmail.com','Argentina','12/09/2016'); insert into visitas values ('Juancito','JuanJosePerez@hotmail.com','Argentina','15/09/2016'); insert into visitas values ('Federico1','federicogarcia@xaxamail.com','Argentina',null);
3- Seleccione los usuarios que visitaron la página entre el '12/09/2016' y '11/10/2016' (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/2016'); insert into visitas values ('Gustavo Gonzalez','GustavoGGonzalez@gotmail.com','Chile','10/10/2016'); insert into visitas values ('Juancito','JuanJosePerez@hotmail.com','Argentina','11/10/2016'); insert into visitas values ('Fabiola Martinez','MartinezFabiola@hotmail.com','Mexico','12/10/2016'); insert into visitas values ('Fabiola Martinez','MartinezFabiola@hotmail.com','Mexico','12/09/2016'); insert into visitas values ('Juancito','JuanJosePerez@gmail.com','Argentina','12/09/2016'); insert into visitas values ('Juancito','JuanJosePerez@hotmail.com','Argentina','15/09/2016'); insert into visitas values ('Federico1','federicogarcia@xaxamail.com','Argentina',null); select *from visitas where fecha between '12/09/2016' and '11/10/2016';
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/2020'); insert into medicamentos values(120,'Buscapina','Roche',4.10,200,'01/12/2017'); insert into medicamentos values(230,'Amoxidal 500','Bayer',15.60,100,'28/12/2017'); insert into medicamentos values(250,'Paracetamol 500','Bago',1.90,20,'01/02/2018'); insert into medicamentos values(350,'Bayaspirina','Bayer',2.10,150,'01/12/2019'); insert into medicamentos values(456,'Amoxidal jarabe','Bayer',5.10,250,'01/10/2020');
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/2028' inclusive.
6- Elimine los remedios cuyo vencimiento se encuentre entre el año 2017 y 2018 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/2020'); insert into medicamentos values(120,'Buscapina','Roche',4.10,200,'01/12/2017'); insert into medicamentos values(230,'Amoxidal 500','Bayer',15.60,100,'28/12/2017'); insert into medicamentos values(250,'Paracetamol 500','Bago',1.90,20,'01/02/2018'); insert into medicamentos values(350,'Bayaspirina','Bayer',2.10,150,'01/12/2019'); insert into medicamentos values(456,'Amoxidal jarabe','Bayer',5.10,250,'01/10/2020'); 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/2028'; delete from medicamentos where extract(year from fechavencimiento) between '2017' and '2018';