sql Ejercicio de consultas en oracle 11g express

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql Ejercicio de consultas en oracle 11g express相关的知识,希望对你有一定的参考价值。

1. Crear la tabla ciudad con un código de ciudad y un nombre.

create table ciudad
(
idciudad int,
nombre varchar2(20)
);

2. Crear la tabla comuna con un código de comuna, nombre, y código de ciudad

create table comuna
(
idcomuna int,
nombre varchar2(20),
idciudad int
);

3. Crear la tabla cliente con código de cliente, Rut, nombre, fecha de nacimiento, código comuna.

create table cliente
(
idcliente int,
rut int,
nombre varchar2(20),
fechanac date,
deuda int,
estadocivil varchar2(1),
sexo varchar2(1),
idcomuna int
);

4. Agregar la restricción primary key al campo cod_ciu de la tabla ciudad.

alter table ciudad 
add constraint pk_ciudad
primary key(idciudad);
desc ciudad;

5. Agregar la restricción primary key al campo cod_com de la tabla comuna.

alter table comuna
add constraint pk_comuna
primary key(idcomuna);
desc comuna;

6. Agregar la restricción forein key al campo cod_ciu de la tabla comuna.

alter table comuna
add constraint fk_ciudad
foreign key(idciudad) references ciudad(idciudad);

7. Agregar la restricción primary key al campo cod_cli de la tabla cliente.

alter table cliente
add constraint pk_cliente
primary key(idcliente);
desc cliente;

8. Agregar la restricción forein key al campo cod_com de la tabla cliente.

alter table cliente
add constraint fk_comuna
foreign key(idcomuna) references comuna(idcomuna);

9. Crear la secuencia para la tabla ciudad, comuna y cliente

create sequence secCiudad
start with 1
increment by 1
maxvalue 100
minvalue 1
nocycle;

create sequence secComuna
start with 1
increment by 1
maxvalue 100
minvalue 1
nocycle;

create sequence secCliente
start with 1
increment by 1
maxvalue 100
minvalue 1
nocycle;

10. Poblar la tabla ciudad, comuna y cliente con 10 registros

insert into ciudad values(1,'Santiago');

insert into comuna values(1,'La Granja',1);
insert into comuna values(6,'Independencia',1);
insert into comuna values(5,'San Bernardo',1);	
insert into comuna values(4,'Maipu',1);	
insert into comuna values(3,'San Ramon',1);	
insert into comuna values(2,'La Florida',1);

insert into cliente values(5, 555,'German','11/09/1970',999,'c','f', 2);	
insert into cliente values(4, 444,'Matias','08/15/1940',1050100,'s','m', 2);	
insert into cliente values(3, 333,'Josue','12/05/1950',999999,'c','m', 6);	
insert into cliente values(2, 222,'JotaGay','01/30/1990',20000,'s','f', 3);	
insert into cliente values(1, 111,'Fabian','09/28/1989',10000,'s','m', 1);

11. Agregar el campo dirección a la tabla de los clientes

alter table cliente add direccion varchar2(20)

12. Crear una vista materializada con los clientes de la comuna de la florida

create materialized view VistaConsulta
as
( 
select cl.nombre, co.nombre
from cliente cl inner join comuna co
on cl.idcomuna = co.idcomuna
where co.nombre = 'La Florida')
;

13. Crear una vista de los clientes de Ñuñoa y San Ramón pero de solo lectura

create view Vista
as
(
select cl.nombre
from cliente cl inner join comuna co
on cl.idcomuna = co.idcomuna
where co.nombre = 'La Granja' or co.nombre = 'San Ramon'
)
with read only;

14. Crear una vista de los clientes de San Bernardo y Maipu que al insertar datos solo acepte datos de esas comunas

create view Vista2
as
(
select cl.nombre
from cliente cl inner join comuna co
on cl.idcomuna = co.idcomuna
where co.nombre = 'San Bernardo' or co.nombre = 'Maipu'
)
with check option;


15. Mostrar el nombre y el año (no la fecha)de nacimiento de los clientes que son de la florida

select cl.nombre, extract(year from cl.fechanac)
from cliente cl inner join comuna co
on cl.idcomuna = co.idcomuna
where co.nombre = 'La Florida'

16. Mostrar todos los clientes que nacieron después del año 1990

desc cliente
insert into cliente values(7, 777,'Yeremy','09/09/1998',999,'s','m', 2, 'la gayja 321');
insert into cliente values(6, 666,'Carlitos','11/09/1995',4999,'c','m', 2, 'internet 7676');

select * from cliente
where extract(year from fechanac) > 1990;

17. Mostrar que clientes están hoy de cumpleaños.

insert into cliente values(8, 888,'Esteban Aguila','05/07/1945',10000,'s','m', 1, 'Catorce oriente 123');
insert into cliente values(9, 999,'Luis Aguila','02/07/1961',10000,'c','m', 1, 'Castro chiloe 1233'); 
update cliente set fechanac = '05/25/1980' where idcliente = 8;
update cliente set fechanac = '05/25/1940' where idcliente = 9;



select * from cliente
where extract(day from fechanac) = extract(day from sysdate)
and extract(month from fechanac) = extract(month from sysdate);


18. Mostrar cuantos clientes son mayores de 50 años

select * from cliente
where fechanac <= '05/25/1965'

19. Eliminar el campo fecha de nacimiento de la tabla de los clientes

ALTER TABLE cliente
DROP COLUMN fechanac;


20. Mostrar los clientes que son de la ciudad de Rancagua.

INSERT INTO ciudad VALUES(2,'Rancagua');
INSERT INTO comuna VALUES(7,'Rancagua',2);

update cliente set idcomuna = 7 where idcliente = 8;
update cliente set idcomuna = 7 where idcliente = 9;

select  cl.rut, cl.nombre, ci.nombre
from cliente cl inner join comuna co
on cl.idcomuna = co.idcomuna inner join 
ciudad ci on co.idciudad = ci.idciudad
where ci.nombre = 'Rancagua';

21. Modificar el tamaño del nombre de la columna nombre del cliente a 35 caracteres.

alter table cliente
modify nombre varchar2(35);
desc cliente;

22. Mostrar cual es el promedio de deudas que tienen los clientes de la ciudad de Santiago
select avg(cl.deuda)
from cliente cl inner join comuna co
on cl.idcomuna = co.idcomuna
inner join ciudad ci on
co.idciudad = ci.idciudad
where ci.nombre = 'Santiago'

select cl.deuda 
from cliente cl inner join comuna co
on cl.idcomuna = co.idcomuna
inner join ciudad ci on
co.idciudad = ci.idciudad
where ci.nombre = 'Santiago'

23. Mostrar cual es el promedio de deudas por cada comuna

select co.nombre, avg(cl.deuda)
from cliente cl inner join comuna co
on cl.idcomuna = co.idcomuna
group by co.nombre

select co.nombre, cl.deuda
from cliente cl inner join comuna co
on cl.idcomuna = co.idcomuna

24. Mostrar cuantas personas mantienen deudas de más de 500.000 pesos

select count(nombre) from cliente
where deuda > 500000

25. Mostrar cuantas mujeres deben más de 300.000 pesos

select count(sexo) from cliente
where deuda > 300000 and sexo = 'f'; 

select * from cliente

insert into cliente values(10,1000, 'maria', 350000, 'c' , 'f' , 3,'jepues 1212');

26. Mostrar cuantos clientes están casados por ciudad

select count(cl.nombre), ci.nombre
from cliente cl inner join comuna co
on cl.idcomuna = co.idcomuna inner join
ciudad ci on co.idciudad = ci.idciudad
where cl.estadocivil = 'c'
group by ci.nombre;

select * from cliente;

27. Mostrar cuantos hombres solteros existen sin deuda

insert into cliente values(11,1000, 'Juan', 0, 's' , 'm' , 2,'hola 123');
insert into cliente values(12,1111, 'Mario', 0, 's' , 'm' , 5,'campo 3434');

select count(idcliente)
from cliente
where deuda = 0 and sexo = 'm';


28. Mostrar cuantos clientes son mujeres por ciudad

insert into cliente values(13,1222, 'maria jose', 200000, 's' , 'f' , 7,'hola 123');

select count(cl.idcliente), ci.nombre
from cliente cl inner join comuna co
on cl.idcomuna = co.idcomuna inner join
ciudad ci on co.idciudad = ci.idciudad
where cl.sexo = 'f'
group by ci.nombre;

29. Mostrar cual es la suma de lo adeudado por los hombres

select sum(deuda)
from cliente
where sexo = 'm'

30. Mostrar cual es el promedio adeudado por mujer

select avg(deuda)
from cliente
where sexo = 'f'

31. Mostrar cual es la persona que debe más dinero en todo chile
select *
from cliente
where deuda =
(
select max(deuda) from cliente
)

select * from cliente

32. Mostrar cual es la mujer que debe más en todo chile

select *
from cliente
where deuda =
(
select max(deuda) from cliente
where sexo ='f'
)

以上是关于sql Ejercicio de consultas en oracle 11g express的主要内容,如果未能解决你的问题,请参考以下文章

sql BIT / IAM-1792 - Se adicionaelparámetroidPlantela la consulta de aulas disponibles parafi

vbscript Iterar registros de una consulta SELECT en ASP CLASSIC

sql Ejercicio SQL celulares

php Usar la clase Db en Laravel para hacer consultas a la base de datos

sql Consulta data_hora #oracle #consulta

sql Consulta Tamanho FRA