ACTIVIDAD 8
Base de Datos
Descargar la BD y realizar el Modelo Entidad Relación
https://www.dropbox.com/s/ghgamyat6xuilg4/matricular.sql?dl=0
Realizar consultas con Join, Left Join, Rigth Join, inner join
1. CONSULTAS CON EL LEFT JOIN
* Que se desea consultar y de que tablas?
Toda la información de los estudiantes solteros matriculados
*Que tablas se ven afectadas o involucradas?
Estudiante, Matricula
*Condición
where e.estado_civil='soltero'
*Comando a utilizar
Select con left Join
*Sintaxis
select e.* from estudiante as e left join matricular as m on e.carnet=m.carnet where e.estado_civil='soltero'group by carnet;
2. CONSULTAS CON EL INNER JOIN
* Que se desea consultar y de que tablas?
Estudiantes que están matriculados en la asignatura Java y que estudian en la jornada Mañana
*Que tablas se ven afectadas o involucradas?
Matricular, estudiantes_asignatura, estudiantes_jornada, estudiante, jornada, asignatura
*Condición
a.nombre='java' and j.descripcion='Mañana'
*Comando a utilizar
Select con Inner Join
*Sintaxis
Select e.nombre 'Nombre Estudiante' , a.nombre 'Asignatura', j.descripcion 'jornada' from estudiante e inner join asignatura a inner join jornada j inner join matricular m inner join estudiante_asignatura ea inner join estudiante_jornada ej on e.carnet=ea.carnet and e.carnet=ej.carnet and e.carnet=m.carnet and j.idj=m.idj where a.nombre='java' and j.descripcion='Mañana'group by e.carnet;
3. CONSULTAS CON EL RIGTH JOIN
* Que se desea consultar y de que tablas?
Estudiantes que están viudos y les gusta leer
*Que tablas se ven afectadas o involucradas?
Estudiante, matricular
*Condición
where e.estado_civil='viudo' and e.hobby='leer' *Comando a utilizar Select con Right Join
*Sintaxis
select e.nombre, e.estado_civil'Estado Civil', e.hobby from estudiante as e right join matricular as m on e.carnet=m.carnet where e.estado_civil='viudo' and e.hobby='leer' group by e.carnet;
4. CONSULTAS CON EL JOIN
* Que se desea consultar y de que tablas?
Cuales profesores están programados para dar bases de datos a los estudiantes que ya están matriculados
*Que tablas se ven afectadas o involucradas?
Profesores, Matricular, ASIGNATURA
*Condición
where a.nombre='Base de Datos'
*Comando a utilizar
Select con Join
*Sintaxis
Select p.nombre 'Nombre Profesor', a.nombre 'Asignatura' from matricular m join profesor p join asignatura a on m.cod=p.cod and a.id=m.id where a.nombre='Base de Datos' group by p.nombre;
Realizar de a una consulta más con cada Join
Join
* Que se desea consultar y de que tablas?
*Que tablas se ven afectadas o involucradas?
*Condición
*Comando a utilizar
*Sintaxis
Left Join
* Que se desea consultar y de que tablas?
Docentes que dan clase en la jornada de la mañana
*Que tablas se ven afectadas o involucradas?
profesor; jornada; matricular
*Condición
m.idj = 1
*Comando a utilizar
select left join
*Sintaxis
select p.*, j.descripcion as Jornada from profesor as p left join matricular as m on p.cod = m.cod left join jornada as j on m.idj = j.idj where j.idj = 1 group by p.cod;

Rigth Join
* Que se desea consultar y de que tablas?
*Que tablas se ven afectadas o involucradas?
*Condición
*Comando a utilizar
*Sintaxis
Inner join
* Que se desea consultar y de que tablas?
Estudiantes que ven la asignatura Matemáticas y el docente que la enseña.
*Que tablas se ven afectadas o involucradas?
Estudiante. matricular, profesor,asignatura.
*Condición
asignatura = "matematicas"
*Comando a utilizar
select inner join
*Sintaxis
select e.*, p.nombre as profesor,a.nombre as Asignatura from estudiante as e inner join matricular as m on e.carnet = m.carnet inner join profesor as p on m.cod = p.cod inner join asignatura as a on m.id = a.id where a.nombre = 'Matemáticas';


