Está en la página 1de 5

BASES DE DATOS

Técnico en Desarrollo de Aplicaciones Web 1

TEMA 7
LA SENTENCIA SELECT
1. Abre el Sql Developer y realiza,
mediante comandos y realiza los
siguientes ejercicios para consolidar los
conocimientos sobre los comandos y las
claúsulas en sql:
EJERCICIO 1:

En una página web se guardan los siguientes datos de las visitas:


nombre, mail, pais y fecha.

1- Cree la tabla "visitas" con la siguiente estructura:

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',to_date('2020/05/03
21:02:44', 'yyyy/mm/dd hh24:mi:ss'));
insert into visitas values ('Gustavo
Gonzalez','GustavoGGonzalez@hotmail.com','Chile',to_date('2020/02/13
11:08:10', 'yyyy/mm/dd hh24:mi:ss'));
insert into visitas values
('Juancito','JuanJosePerez@hotmail.com','Argentina',to_date('2020/07/02
14:12:00', 'yyyy/mm/dd hh24:mi:ss'));
insert into visitas values ('Fabiola
Martinez','MartinezFabiola@hotmail.com','Mexico',to_date('2020/06/17
20:00:00', 'yyyy/mm/dd hh24:mi:ss'));
insert into visitas values ('Fabiola
Martinez','MartinezFabiola@hotmail.com','Mexico',to_date('2020/02/08
20:05:40', 'yyyy/mm/dd hh24:mi:ss'));
BASES DE DATOS
Técnico en Desarrollo de Aplicaciones Web 2

insert into visitas values


('Juancito','JuanJosePerez@hotmail.com','Argentina',to_date('2020/07/06
18:00:00', 'yyyy/mm/dd hh24:mi:ss'));
insert into visitas values
('Juancito','JuanJosePerez@hotmail.com','Argentina',to_date('2019/10/05
23:00:00', 'yyyy/mm/dd hh24:mi:ss'));
insert into visitas values
('Federico1','federicogarcia@xaxamail.com','Argentina',null);

3- Ordene los registros por fecha, en orden descendente.

SELECT * FROM visitas ORDER BY fecha desc;

4- Muestre el nombre del usuario, pais y el mes, ordenado por pais


(ascendente) y el mes (descendente)

select nombre,pais,extract(month,fecha)
from visitas
order by pais,extract(month,fecha) desc;

5- Muestre los mail, país, ordenado por país, de todos los que
visitaron la página en octubre.

select nombre,mail,
extract(month,fecha) mes,
extract(day,fecha) dia,
extract(hour,fecha) hora
from visitas
order by 3,4,5;

6- Seleccione los usuarios que visitaron la página entre el


'12/09/2019' y '14/05/2020'

Ten en cuenta 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.

select mail, pais


from visitas
where extract(month,fecha)='October'
order by 2;
BASES DE DATOS
Técnico en Desarrollo de Aplicaciones Web 3

EJERCICIO 2:

Cree una tabla llamada "medicamentos" para controlar una farmacia.

1- Cree la tabla con la siguiente estructura:

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/2021');
insert into medicamentos
values(120,'Buscapina','Roche',4.10,200,'01/12/2023');
insert into medicamentos
values(230,'Amoxidal 500','Bayer',15.60,100,'28/12/2022');
insert into medicamentos
values(250,'Paracetamol 500','Bago',1.90,20,'01/02/2021');
insert into medicamentos
values(350,'Bayaspirina','Bayer',2.10,150,'01/12/2020');
insert into medicamentos
values(456,'Amoxidal jarabe','Bayer',5.10,250,'01/10/2022');
BASES DE DATOS
Técnico en Desarrollo de Aplicaciones Web 4

3- Recupere los nombres y precios de los medicamentos cuyo


precio esté entre 5 y 15.

4- Seleccione los registros cuya cantidad se encuentre entre 100 y


200.

5- Recupere los medicamentos cuyo vencimiento se encuentre


entre la fecha actual y '01/01/2021' inclusive.

6- Elimine los medicamentos cuyo vencimiento se encuentre entre


el año 2019 y 2020 inclusive.

7- Recupere los nombres y precios de los medicamentos cuyo


laboratorio sea "Bayer" o "Bago" empleando el operador "in".

8- Recupere los nombres y precios de los medicamentos cuyo


laboratorio NO sea "Bayer" o "Bago" empleando el operador "in".
Ten en cuenta que los valores nulos no se incluyen.

9- Seleccione los medicamentos cuya cantidad se encuentre entre


1 y 5 empleando el operador "between" y luego el operador "in"
(2 registros)
Note que es más conveniente emplear, en este caso, el operador
"between", simplifica la consulta.

10- Recupere los registros cuyas fechas de vencimiento se


encuentra entre enero de 2020 y enero del 2021 (emplee el
operador apropiado).

11- Recupere los registros cuyo año de vencimiento sea 2022 o


2023 (emplee el operador apropiado).

12- Muestre la cantidad de registros empleando la función


"count(*)".

13- Cuente la cantidad de medicamentos que tienen laboratorio


conocido.

14- Cuente la cantidad de medicamentos que tienen precio y


cantidad, con alias.

15- Cuente la cantidad de remedios con precio conocido, cuyo


laboratorio comience con "B".

16- Cuente la cantidad de medicamentos con número de lote


distinto de "null".
BASES DE DATOS
Técnico en Desarrollo de Aplicaciones Web 5

17- Cuente la cantidad de medicamentos con fecha de vencimiento


2022.

También podría gustarte