Vous êtes sur la page 1sur 2

Ejemplo 1

---------create table cliente(rut varchar2(15),nombre varchar2(50), constraint nom_nm not


null,fecha_nacimiento date, constraint rut_pk primary key(rut),
contraint fecha_chk check(fecha_nacimiento between to_date('1/1/1970','dd/mm/yyy
y') and to_date(1/1/1980','dd/mm/yyyy')));
insert into cliente values('12554667-7'.'Juan Gmez',to_date('1/1/1975','dd/mm/yyy
y'));
insert into cliente values('14332234-k'.'Jose Roa',to_date('9/8/1978','dd/mm/yyy
y'));
Consultas
--------1) Mostrar la edad de Juan Gmez
select trunc((sysdate-fecha_nacimiento)/365) "EDAD" from cliente
where nombre = 'Juan Gomez';
2) Mostrar la edad promedio de los clientes
select trunc(avg(sysdate-fecha_nacimiento)/365) "EDAD PROMEDIO" from cliente;
3) Mostrar el nombre y fecha de nacimiento de los clientes cuya edad sea mayor a
la edad promedio de los clientes
select nombre, fecha_nacimiento
from cliente
where (sysdate-fecha_nacimiento)/365 > (select avg(sysdate-fecha_nacimiento)/365
from cliente);
Ejemplo2
-------create table departamento(num int,nombre varchar2(30) constraint nombre_nn not n
ull, anexo varchar2(10), constraint num_pk primary key (num));
begin
insert into departamento values(101,'Informtica',4565);
insert into departamento values(102,'Contabilidad',5630);
insert into departamento values(103,'Finanzas',null);
end;
create table empleado(rut varchar2(15),nombre varchar2(50) constraint nombre_emp
_nn not null, direccion varchar2(50) constraint dire_nn not null, sueldo_bruto i
nt,
num int, constraint rut_pk_empleado primary key (rut), constraint sueldo_chk che
ck(sueldo_bruto >0), constraint num_fk foreign key(num) references departamento(
num));
begin
insert
insert
insert
insert
;
end;

into
into
into
into

empleado
empleado
empleado
empleado

values('14667765-1','Ana Moya','Tucanes 3456',750000,101);


values('15433223-2','Aldo Gmez','Ecuador 56',700000,102);
values('13445987-k','Julio Zuiga','Antares 28',720000,103);
values('12554345-4','Maria Vera','pje lugo 567',850000,101)

create table proyecto(codigo varchar2(10), nombre varchar2(50) constraint nom_pr


oy_nn not null, fecha_inicio date, fecha_termino date, precio int,
constraint pk_cod primary key(codigo), constraint pre_chk check(precio >0));

begin
insert into proyecto values('WEB05','Ferbygas', to_date('10/10/2010','dd/mm/yyyy
'), to_date('12/12/2014','dd/mm/yyyy'),2500000);
insert into proyecto values('IN01','InfoDuoc', to_date('20/09/2013','dd/mm/yyyy'
), to_date('01/05/2015','dd/mm/yyyy'),5000000);
end;
consultas
--------1) Mostrar el nombre y sueldo liquido de los empleados
select nombre, sueldo_bruto*0.81 "Sueldo Lquido" from empleado;
2) Mostrar el nombre, descuento salud y descuento afp de cada empleado
select nombre, sueldo bruto*0.12 "Descuento AFP", sueldo_bruto*0.07 "Descuento s
alud" from epleado;
3) Mostrar el nombre y el sueldo liquido con un 5% de aumento de cada empleado
select nombre, (sueldo_bruto*0.81)*1.05 "Aumento Sueldo Lquido" from empleado;
4) Mostrar el nombre y duracion de los proyectos en dias
select nombre, fecha_termino - fecha_inicio "Duracion en dias" from proyecto;
5) Mostrar los nombres de los proyectos cuya duracion sea mayor a 15 meses
select nombre from proyecto
where (fecha_termino - fecha_inicio)/12> 15;
6) Mostrar la suma de los dias de los proyectos
select sum(fecha_termino - fecha_inicio) "Suma Dias Proyectos" from proyecto;
7) Mostrar cuantos proyectos tienen precio menor a 2500000
select count(*) "Cantidad de Proyectos"
from proyecto
where precio < 2500000;
8) Mostrar el promedio de los sueldos bruto de los empleados empleados
select avg(sueldo_bruto)"Promedio Sueldos" from empleado;

Vous aimerez peut-être aussi