Sei sulla pagina 1di 3

create table Habilidades

(
Cod_habi varchar(20) not null primary key,
Descrip_habi varchar(50)
);

create table centro_trabajo


(
Cod_centro numeric not null primary key,
Nom_centro varchar(50),
cant_trabaja numeric,
Dir_centro varchar(50)
);

create table Areas


(
Cod_area varchar(30) not null primary key,
Nom_area varchar(50),
Presu_anual_area money,
Cod_centro numeric not null,
foreign key (Cod_centro) references centro_trabajo(Cod_centro)
);

create table empleados


(
DI_emplea varchar(30) not null primary key,
Nom1_emplea varchar(30),
Ape1_emplea varchar(30),
Tel_emplea varchar(30),
Fecha_ingreso_emplea date,
Num_hijos_emplea numeric,
Salario_emplea money,
cargo_emplea varchar(30),
Cod_area varchar(30) not null,
foreign key (Cod_area) references Areas(Cod_area)
);
create table hijos
(
DI_hijo varchar(30) not null primary key,
Nom1_hijo varchar(30),
Ape1_hijo varchar(30),
Fecha_nac_hijo date,
DI_emplea varchar(30) not null,
foreign key(DI_emplea) references empleados(DI_emplea)
);

create table Habilidad_empleado


(
Cod_habi varchar(20) not null,
DI_emplea varchar(30) not null,
foreign key (Cod_habi) references Habilidades(Cod_habi),
foreign key (DI_emplea) references empleados(DI_emplea)
);

insert into Habilidades(Cod_habi,Descrip_habi) values('AC01','Atencion al cliente'),


('D03','Digitador'),('Di02','Diseñador');
insert into centro_trabajo(Cod_centro,Nom_centro,cant_trabaja,Dir_centro)
values(1,'Gestion de procesos',50,'Calle 52 No. 24-80'),(2,'Gestion
Administrativa',70,'Carrera 90 No. 84-25');

insert into Areas(Cod_area,Nom_area,Presu_anual_area,Cod_centro)


values('Sis','Sistemas',5000000,1)
insert into Areas(Cod_area,Nom_area,Presu_anual_area,Cod_centro)
values('RH','Recursos humanos',2000000,2),('Cont','Contabilidad',2200000,1),
('Doc','Documentos',1000000,2),('Oper','Operaciones',15000000,1);

insert into empleados


(DI_emplea,Nom1_emplea,Ape1_emplea,Tel_emplea,Fecha_ingreso_emplea,Num_hijos_emplea,
Salario_emplea,cargo_emplea,Cod_area) values('1515','Jean','Castillo','3254563','03-
22-2015',1,1500000,'Director','Sis'),
('2020','Peter','Solano','3112863','10-18-2016',1,1800000,'Programador','Sis'),
('3030','Lana','Lang','3112863','10-18-2016',1,1200000,'Psicologa','RH'),
('4070','Misael','Molina','3107808','08-25-2016',2,1100000,'Contador','Cont');

select * from empleados


insert into hijos(DI_hijo,Nom1_hijo,Ape1_hijo,Fecha_nac_hijo,DI_emplea)
values('9010','Anabella','Castillo','07-20-2010','1515'),
('5050','Summers','Solano','05-29-2016','2020'),('1010','Brigette','Kent Lang','12-
07-2012','3030'),
('8080','George','Molina','09-27-2009','4070'),('9140','Axel','Molina','04-18-
2013','4070');

select * from hijos

insert into Habilidad_empleado(Cod_habi,DI_emplea) values('AC01','2020'),


('Di02','2020'),('AC01','3030'),('D03','4070');

select * from Habilidades


select * from Habilidad_empleado

select * from Areas

select Nom1_emplea,Ape1_emplea,Num_hijos_emplea from empleados

select Nom1_emplea,Ape1_emplea,Nom1_hijo,Ape1_hijo from empleados inner join hijos


on empleados.DI_emplea=hijos.DI_emplea

--Consulta multitabla con Alias


select Nom1_emplea,Ape1_emplea,Nom1_hijo,Ape1_hijo from empleados as Em inner join
hijos as H on Em.DI_emplea=H.DI_emplea

select * from Areas where Presu_anual_area between 10000000 and 22000000;

select * from Areas where Presu_anual_area>=1000000 and Presu_anual_area<=2200000;


select * from Areas
select * from Areas where Presu_anual_area <> 2000000;

-- Para seleccionar empleados cuyo primer nombre comienza con las letras entre la
"J" y la "L" usamos la siguiente sintaxis:

select Nom1_emplea,Ape1_emplea,Tel_emplea from empleados where Nom1_emplea like '[J-


L]%';
select * from empleados
-- Para seleccionar los empleados cuyo primer nombre NO comienza con las letras "J"
ni "L" escribimos:
select Nom1_emplea, Ape1_emplea from empleados where Nom1_emplea like '[^JL]%';

-- busca apellidos que comiencen con S.

select Nom1_emplea, Ape1_emplea from empleados where Ape1_emplea like 'S%';


select * from empleados where Ape1_emplea like 'L%';
--BUSCAR POR LETRA
select * from empleados where Ape1_emplea like 'L' + '%'

-- Consulta por cedula

select Nom1_emplea,Ape1_emplea, cargo_emplea from empleados where DI_emplea='1515'

--La palabra clave "top" se emplea para obtener sólo una cantidad limitada de
registros, los primeros n registros de una consulta.

-- Con la siguiente consulta obtenemos todos los datos de los primeros 3 hijos de la
tabla y ordenados por su apellido en forma ascendente

select top 3 Nom1_hijo,Ape1_hijo from hijos order by Ape1_hijo desc;

select * from empleados


update empleados
set Tel_emplea='523468' where DI_emplea='3030'

select Nom1_emplea,Ape1_emplea, Tel_emplea from empleados where DI_emplea='3030'

Potrebbero piacerti anche