Actividad 8
Introduce un texto aquí...
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
* ¿Qué se desea consultar?
Toda la información de los estudiantes solteros matriculados
*¿Qué 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;
- Segunda consulta con left Join
* ¿Qué se desea consultar?
El nombre y la edad de los estudiantes de sexo femenino que sean casadas y estén matriculadas
*¿De qué tablas?
Estudiante, Matricular
* Condición
n.estado_civil='casado' and n.sexo='femenino'
*Comando a utilizar
Select con left Join
*Sintaxis
select n.nombre 'Nombre estudiante', n.edad 'Edad' from estudiante as n left join matricular as m on n.nombre=m.carnet where n.estado_civil='casado' and n.sexo='femenino' group by nombre;
2. CONSULTAS CON EL INNER JOIN
* ¿Qué se desea consultar?
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
* ¿Qué se desea consultar?
Estudiantes que están viudos y les gusta leer
*¿Qué 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;
- Segunda consulta con RIGTH JOIN
* ¿Qué se desea consultar y de que tablas?
Los estudiantes que
* ¿Qué tablas se ven afectadas o involucradas?
* Condición
* Sintaxis
4. CONSULTAS CON EL JOIN
* ¿Qué se desea consultar?
Cuales profesores están programados para dar bases de datos a los estudiantes que ya están matriculados
*¿Qué 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;
Select n.nombre 'Nombre estudiante', p.nombre 'Profesor' from matricular m join estudiante n join profesor p on m.carnet=n.carnet and p.cod=m.cod where p.nombre='Javier Ospina Moreno' group by n.nombre;
- Segunda consulta con Join
* ¿Que se desea consultar ?
Cuales estudiantes que ven clase con el profesor Javier Ospina Moreno
* ¿De qué tablas?
Estudiante, Profesor
* Condición
where p.nombre='Javier Ospina Moreno'
*Comando a utilizar
Select con Join
* Sintaxis
Select n.nombre 'Nombre estudiante', p.nombre 'Profesor' from matricular m join estudiante n join profesor p on m.carnet=n.carnet and p.cod=m.cod where p.nombre='Javier Ospina Moreno' group by n.nombre;