You are on page 1of 3

Ejercicio

Se desea crear la base de datos llamada alfa_beta donde se guarde la informacin de los
empleados (dni, apellidos, nombres), adems una tabla llamada departamento con los
atributos cdigo (entero), nombre, presupuesto.

Se sabe que adems en un departamento trabajan muchos empleados y un empleados


solo trabaja en un departamento.

Iddepartamento Departamento trabaja Empleado Idempleado


codigo dni
nombre apellidos
presupuesto nombres

create database alfa_beta


go
use alfa_beta
go
create table Departamento(
iddepartamento char(6) not null,
codigo int not null,
nombre varchar(40) not null,
presupuesto money not null,
primary key(iddepartamento)
)
go
create table Empleado(
idempleado char(6) not null,
dni char(8) not null,
apellido varchar(40) not null,
nombre varchar(40) not null,
iddepartamento char(6) not null,
primary key(idempleado),
foreign key(iddepartamento) references departamento(iddepartamento)
)
go

1. Ingresa 8 registros a la tabla departamento y 30 registros a la tabla empleados

Insert into departamento values (dep001, 201701, 1, 4500)


Insert into departamento values (dep002, 201702, 2, 5000)
Insert into departamento values (dep003, 201703, 3, 8000)
Insert into departamento values (dep004, 201704, 4, 12000)
Insert into departamento values (dep005, 201705, 5, 15000)
Insert into departamento values (dep006, 201706, 6, 7000)
Insert into departamento values (dep007, 201707, 7, 3000)
Insert into departamento values (dep008, 201708, 8, 9000)
Insert into empleado values (emp001, 87659354, Fernndez, Lucia, dep001)
Insert into empleado values (emp002, 65473921, Jimnez, Juan, dep005)
Insert into empleado values (emp003, 76392645, Carranza, Mara, dep007)
Insert into empleado values (emp004, 46322811, Prez, Fernanda, dep003)
Insert into empleado values (emp005, 10067432, Gonzles, Oscar, dep002)
Insert into empleado values (emp006, 43326675, Vsquez, Felipe, dep004)
Insert into empleado values (emp007, 37118965, Bardales, Manuel, dep006)
Insert into empleado values (emp008, 98643678, Arqueros, Lorena, dep008)
Insert into empleado values (emp009, 87549967, Retegui, Pedro, dep005)
Insert into empleado values (emp010, 77654432, Guerrero, Frank, dep001)
Insert into empleado values (emp011, 66544377, Lpez, Cristina, dep003)
Insert into empleado values (emp012, 87659354, Torres, Erick, dep002)
Insert into empleado values (emp013, 87659354, Paredes, Pedro, dep004)
Insert into empleado values (emp014, 87659354, Flores, Lilibeth, dep007)
Insert into empleado values (emp015, 87659354, Menndez, Eduardo, dep006)
Insert into empleado values (emp016, 87659354, Morales, Judtih, dep008)
Insert into empleado values (emp017, 87659354, Palacios, Arturo, dep003)
Insert into empleado values (emp018, 87659354, Aguirre, Alexandra, dep008)
Insert into empleado values (emp019, 87659354, Lujn, Giuliana, dep005)
Insert into empleado values (emp020, 87659354, Matute, Yolanda, dep007)
Insert into empleado values (emp021, 87659354, Silva, Luis, dep001)
Insert into empleado values (emp022, 87659354, Fernndez, Lucia, dep001)
Insert into empleado values (emp023, 87659354, Fernndez, Lucia, dep001)
Insert into empleado values (emp024, 87659354, Fernndez, Lucia, dep001)
Insert into empleado values (emp025, 87659354, Fernndez, Lucia, dep001)
Insert into empleado values (emp026, 87659354, Fernndez, Lucia, dep001)
Insert into empleado values (emp027, 87659354, Fernndez, Lucia, dep001)
Insert into empleado values (emp028, 87659354, Fernndez, Lucia, dep001)
Insert into empleado values (emp029, 87659354, Fernndez, Lucia, dep001)
Insert into empleado values (emp030, 87659354, Fernndez, Lucia, dep001)

2. Realizar las siguientes consultas:


a. Mostrar los apellidos de los empleados
Select * from empleado where apellido

b. Mostar los apellidos de los empleados sin repeticin


Select distinct apellido from empleado
c. Mostrar los datos de los empleados que se apellidan Lpez
Select * from empleado where apellido=Lpez

d. Mostrar los datos de los empleados que se apellidan Torres y los que se apellidan Prez
Select * from empleado where apellido in (Torres, Prez)

e. Mostrar los datos de los empleados que trabajan en el departamento


Select * from empleado where Iddepartamento=6
f. Mostrar los datos de los empleados que trabajan en el departamento 1 y tambien los que
trabajan en el departamento 5
Select * from empleado where Iddepartamento in (1, 5)

g. Mostrar los datos de los empleados cuyos apellidos comienzan con P


Select * from empleado where apellido like P%

h. Obtener el presupuesto total de todos los departamentos


Select departamento, sum (presupuesto) as Presupuesto Total

i. Obtener el nmero de empleados de cada departamento


Select Iddepartamento, count (*) from empleado group by Idempleado

j. Obtener un listado completo de empleados, incluyendo por cada empleado los datos del
empleado y su departamento
Select empleado.dni, empleado.apellido, empleado.nombre, departamento.nombre, from
empleado inner join departamento on empleado.iddepartamento =
departamento.iddepartamento
k. Obtener un listado completo de empleados, incluyendo el nombre y apellido del empleado
junto al nombre y presupuesto de su departamento
Select empleado.dni, empleado.apellido, empleado.nombre, departamento.nombre,
departamento.presupuesto from empleado inner join departamento on
empleado.iddepartamento = departamento.iddepartamento

l. Obtener los nombres y apellidos de los empleados que trabajen en departamentos cuyo
presupuesto sea mayor de 5000
Select nombre,apellido from empleado where Iddepartamento in (select Iddepartamento
from departamento where presupuesto > 5000)

m. Obtener los datos de los departamentos cuyo presupuesto es superior al presupuesto


medio de todos los departamentos
n. Obtener los nombres (nicamente los nombres) de los departamentos que tienen ms de
dos empleados
o. Aadir un nuevo departamento calidad, con presupuesto de 4000 y cdigo 11
p. Aadir un empleado vinculado con el departamento recin creado, Esther Vsquez, y DNI:
98765432
q. Aplicar un recorte presupuestario del 10% a todos los departamentos
r. Reasignar a los empleados del departamento 5 al departamento 8
s. Despedir a todos los empleados que trabajen para departamentos cuyo presupuesto sea
superior a 10000
t. Despedir a todos los empleados

You might also like