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