Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- VISTAS
- -- 1
- CREATE TABLE Secciones(
- codigo INT(50) NOT NULL AUTO_INCREMENT,
- nombre VARCHAR(50) NOT NULL,
- sueldo DECIMAL(50) NOT NULL,
- PRIMARY KEY (codigo)
- );
- -- 2
- CREATE TABLE empleados(
- legajo INT auto_increment,
- documento char(8),
- sexo char(1),
- apellido varchar(40),
- nombre varchar(30),
- domicilio varchar(30),
- seccion INT NOT NULL,
- cantidadhijos INT,
- estadocivil CHAR(10),
- fechaingreso DATE,
- PRIMARY KEY (legajo)
- );
- -- 3
- INSERT INTO secciones (codigo, nombre, sueldo)
- VALUES (0,'Administracion', 300),
- (0,'Contaduría', 400),
- (0,'Sistemas',500);
- -- 4
- INSERT INTO empleados(legajo, documento, sexo, apellido, nombre, domicilio, seccion, cantidadhijos, estadocivil, fechaingreso)
- VALUES (0,'22222222','f','Lopez','Ana','Colon 123',1,2,'casado','1990-10-10'),
- (0,'24444444','m','Garcia','Marcos','Sarmiento 1234',2,3,'divorciado','1998-07-12'),
- (0,'25555555','m','Gomez','Pablo','Bulnes 321',3,2,'casado','1998-10-09'),
- (0,'26666666','f','Perez','Laura','Peru 1254',3,3,'casado','2000-05-09');
- -- 5
- CREATE VIEW ejercicio_5 (empleado, seccion, cant_hijos)
- AS SELECT CONCAT(nombre, ' ', apellido) AS 'empleado', seccion, cantidadhijos FROM empleados;
- -- 6
- SELECT * FROM ejercicio_5;
- -- 7
- SELECT seccion, COUNT(empleado) AS 'emp_x_seccion' FROM ejercicio_5 GROUP BY seccion;
- -- 8
- CREATE VIEW ejercicio_8 (año_de_ingreso, emp_x_año)
- AS SELECT year(fechaingreso) AS 'año_de_ingreso', COUNT(legajo) AS 'emp_x_año' FROM empleados GROUP BY year(fechaingreso);
- -- 9
- SELECT * FROM ejercicio_8;
- -- Segunda Ejercitacion
- -- 1
- CREATE TABLE socios(
- documento char(8),
- nombre varchar(40),
- domicilio varchar(30),
- primary key (documento)
- );
- CREATE TABLE profesores(
- documento char(8),
- nombre varchar(40),
- domicilio varchar(30),
- primary key (documento)
- );
- CREATE TABLE cursos(
- numero integer AUTO_INCREMENT,
- deporte varchar(20),
- dia varchar(15),
- documentoprofesor char(8),
- primary key (numero)
- );
- CREATE TABLE inscriptos(
- documentosocio char(8) not NULL,
- numero integer not null,
- matricula char(1),
- primary key (documentosocio,numero)
- );
- -- 2
- insert into socios values('30000000','Fabian Fuentes','Caseros 987');
- insert into socios values('31111111','Gaston Garcia','Guemes 65');
- insert into socios values('32222222','Hector Huerta','Sucre 534');
- insert into socios values('33333333','Ines Irala','Bulnes 345');
- insert into profesores values('22222222','Ana Acosta','Avellaneda 231');
- insert into profesores values('23333333','Carlos Caseres','Colon 245');
- insert into profesores values('24444444','Daniel Duarte','Sarmiento 987');
- insert into profesores values('25555555','Esteban Lopez','Sucre 1204');
- insert into cursos(deporte,dia,documentoprofesor) values('tenis','lunes','22222222');
- insert into cursos(deporte,dia,documentoprofesor) values('tenis','martes','22222222');
- insert into cursos(deporte,dia,documentoprofesor) values('natacion','miercoles','22222222');
- insert into cursos(deporte,dia,documentoprofesor) values('natacion','jueves','23333333');
- insert into cursos(deporte,dia,documentoprofesor) values('natacion','viernes','23333333');
- insert into cursos(deporte,dia,documentoprofesor) values('futbol','sabado','24444444');
- insert into cursos(deporte,dia,documentoprofesor) values('futbol','lunes','24444444');
- insert into cursos(deporte,dia,documentoprofesor) values('basquet','martes','24444444');
- insert into inscriptos values('30000000',1,'s');
- insert into inscriptos values('30000000',3,'n');
- insert into inscriptos values('30000000',6,null);
- insert into inscriptos values('31111111',1,'s');
- insert into inscriptos values('31111111',4,'s');
- insert into inscriptos values('32222222',8,'s');
- -- 3
- CREATE VIEW ejercicio_2_3 (nombre, documento, deporte, dia, profesor) AS
- SELECT socios.nombre, socios.documento, cursos.deporte, cursos.dia, profesores.nombre
- FROM socios
- LEFT JOIN inscriptos ON socios.documento = inscriptos.documentosocio
- INNER JOIN cursos ON inscriptos.numero = cursos.numero
- INNER JOIN profesores ON cursos.documentoprofesor = profesores.documento;
- -- 4
- SELECT * FROM ejercicio_2_3;
- -- 5
- SELECT COUNT(nombre) AS 'cant_socios', deporte FROM ejercicio_2_3 GROUP BY deporte ORDER BY cant_socios;
- -- 6
- SELECT nombre, documento
- FROM ejercicio_2_3
- LEFT JOIN cursos ON ejercicio_2_3.deporte = cursos.deporte
- INNER JOIN inscriptos ON cursos.numero = inscriptos.numero
- WHERE inscriptos.matricula IS NULL;
- -- 7
- SELECT profesor, dia, deporte FROM ejercicio_2_3;
- -- 8
- SELECT nombre, deporte, dia FROM ejercicio_2_3 WHERE deporte = 'tenis';
- -- 9
- CREATE VIEW vista_inscriptos (cant_inscrpts_x_curso, deporte, dia) AS
- SELECT COUNT(inscriptos.documentosocio), deporte, dia
- FROM cursos
- INNER JOIN inscriptos ON cursos.numero = inscriptos.numero
- GROUP BY cursos.numero;
- -- 10
- SELECT * FROM vista_inscriptos;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement