Actividad 8
Base de Datos
Descargar la BD y realizar el Modelo Entidad Relación
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;
1.1. CONSULTAS CON EL LEFT JOIN
* Que se desea consultar y de que tablas?
Toda la información de los estudiantes solteros o viudos matriculados
*Que tablas se ven afectadas o involucradas?
Estudiante, Matricula
*Condición
where e.estado_civil='soltero' or e.estado_civil=4
*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' or e.estado_civil=4 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;
2.1. CONSULTAS CON EL INNER JOIN
* Que se desea consultar y de que tablas?
Estudiantes que están matriculados en la asignatura redes y que estudian en la jornada la Noche
*Que tablas se ven afectadas o involucradas?
Matricular, estudiantes_asignatura, estudiantes_jornada, estudiante, jornada, asignatura
*Condición
a.nombre='redes' and j.descripcion='Noche'
*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='redes' and j.descripcion='Noche' 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
*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;
3.1. CONSULTAS CON EL RIGTH JOIN
* Que se desea consultar y de que tablas?
Estudiantes que están divorciado y les gusta viajar y son de sexo femenino
*Que tablas se ven afectadas o involucradas?
Estudiante
*Condición
where e.estado_civil='divorciado' or e.estado_civil='casado' and e.sexo=1 and e.hobby='viajar'
*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='divorciado' or e.estado_civil='casado' and e.sexo=1 and e.hobby='viajar' 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;
4.1. 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'
where a.nombre='Ing_SoftwareI' or a.nombre='Ing_SoftwareII' or a.nombre='Ing_softwareIII'
*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='Ing_SoftwareI' or a.nombre='Ing_SoftwareII' or a.nombre='Ing_softwareIII' group by a.nombre;

Realizar de a una consulta más con cada Join