Está en la página 1de 2

CREATE DATABASE CONTROL001

go
USE CONTROL001
go
DROP TABLE EMPLEADOS
go
CREATE TABLE EMPLEADOS
(
CODIGO INT IDENTITY NOT NULL,
NIF VARCHAR(9),
NOMBRE VARCHAR(100),
APELLIDO1 VARCHAR(100),
APELLIDO2 VARCHAR(100),
CODIGODEPARTAMENTO INT/*YA ME DI CUENTA MIRA TODOS TIENEN NOT NULL Y TE PIDE
INGRESAR NULOS EN APELLIDOS*/
)
go
DROP TABLE DEPARTAMENTO
go
CREATE TABLE DEPARTAMENTO
(
CODIGO INT IDENTITY NOT NULL,
NOMBRE VARCHAR (100) NOT NULL,
PRESUPUESTO DECIMAL (10,3)
)
go

INSERT INTO DEPARTAMENTO VALUES ('DESARROLLO',120000.600),('SISTEMAS',150000.210),


('RECURSOS HUMANOS',280000.250),
('CONTABILIDAD',110000.30),('I+D',375000.380),('PROYECTO',0.0),('PUBLICIDAD',0.1)
go

INSERT INTO EMPLEADOS VALUES ('32481596F','AORON','RIVERO','GOMEZ',1),


('Y5575632D','ADELA','SALAS','DIAS',2),
('R6970642B','ADOLFO','RUBIO','FLORES',3),('77705545E','ADRIAN','SUAREZ',null,4),
('17087203C','MARCOS','LOYOLA','MENDEZ',5),
('38382908M','MARIA','SANTANA','NORENO',1),('80576669X','PILAR','RUIZ',null,2),
('71651431Z','PEPE','RUIZ','SANTANA',3),
('56399183D','JUAN','GOMEZ','LOPEZ',2),('46384486H','DIEGO','FLORES','SALAS',5),
('67389283A','MARTA','HERRERA','GIL',1),
('41234836R','IRENE','SALAS','FLORES',null),('82635162B','JUAN
ANTONIO','SAEZ','GUERRERO',null)
GO

ALTER TABLE EMPLEADOS ADD PRIMARY KEY (CODIGO)


go
ALTER TABLE DEPARTAMENTO ADD PRIMARY KEY (CODIGO)
go

ALTER TABLE EMPLEADOS


ADD CONSTRAINT FK_EMPLEADOS_DEPARTAMENTO FOREIGN KEY (CODIGODEPARTAMENTO) REFERENCES
DEPARTAMENTO(CODIGO)
GO

SELECT CONCAT(e.APELLIDO1,' ',e.APELLIDO2,' ',e.NOMBRE) AS NOMBRE,d.NOMBRE as


DEPARTAMENTO, d.PRESUPUESTO
FROM EMPLEADOS e INNER JOIN DEPARTAMENTO d on e.CODIGODEPARTAMENTO=d.CODIGO
go
SELECT CONCAT(e.APELLIDO1,' ',e.APELLIDO2,' ',e.NOMBRE) AS NOMBRE,d.NOMBRE as
DEPARTAMENTO, d.PRESUPUESTO
FROM EMPLEADOS e INNER JOIN DEPARTAMENTO d on e.CODIGODEPARTAMENTO=d.CODIGO
order by d.NOMBRE,CONCAT(e.APELLIDO1,' ',e.APELLIDO2,' ',e.NOMBRE)
go

SELECT DISTINCT d.CODIGO,d.NOMBRE


FROM DEPARTAMENTO d INNER JOIN EMPLEADOS e on d.CODIGO=e.CODIGODEPARTAMENTO
go

SELECT DISTINCT d.CODIGO,d.NOMBRE,d.PRESUPUESTO


FROM DEPARTAMENTO d INNER JOIN EMPLEADOS e on d.CODIGO=e.CODIGODEPARTAMENTO
go

SELECT SUM(d.PRESUPUESTO) as SUMA_DEPARTAMENTOS


FROM DEPARTAMENTO d
go

SELECT AVG(d.PRESUPUESTO) as MEDIA_DEPARTAMENTOS


FROM DEPARTAMENTO d
go

SELECT TOP 1 d.NOMBRE,d.PRESUPUESTO


FROM DEPARTAMENTO d
order by d.PRESUPUESTO desc
go

SELECT e.CODIGO,CONCAT(e.APELLIDO1,' ',e.APELLIDO2,' ',e.NOMBRE) AS


NOMBRE,e.NIF,d.NOMBRE as DEPARTAMENTO
FROM EMPLEADOS e INNER JOIN DEPARTAMENTO d on e.CODIGODEPARTAMENTO=d.CODIGO
where d.NOMBRE in ('Sistemas', 'Contabilidad', 'I+D')
order by CONCAT(e.APELLIDO1,' ',e.APELLIDO2,' ',e.NOMBRE)
go

SELECT TOP 1 d.NOMBRE,d.PRESUPUESTO


FROM DEPARTAMENTO d
order by d.PRESUPUESTO
go

select distinct d.NOMBRE DEPARTAMENTO


from DEPARTAMENTO d INNER JOIN EMPLEADOS e ON d.CODIGO=e.CODIGODEPARTAMENTO
where e.APELLIDO2 is null
go

También podría gustarte