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, Matricular
 
*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 estan 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;
 
 
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;
 
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, Matricular
 
*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 estan 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;
 
 
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