Actividad 7

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 

A continuación se evidencia el MER de la base de Datos anterior:

Realizar una investigación más amplia sobre el comando : Join, Left Join, Rigth Join, inner join y en que instancias de deben utilizar

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

*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 en esta misma base de datos con sus respectivos análisis y resultados.

Nuevas consultas: 

1. CONSULTA CON JOIN 

¿Qué se desea consultar y de qué tablas? Combinación de todos los profesores con todas las jornadas disponibles, para ver en qué jornadas podría enseñar cada profesor.

¿Qué tablas se ven afectadas o involucradas? profesor, jornada

Condición No aplica (cross join combina todas las filas)

Comando a utilizar select con join (cross join)

Sintaxis

select p.nombre 'Profesor', j.descripcion 'Jornada'

from profesor p

join jornada j;

2. CONSULTA CON LEFT JOIN

¿Qué se desea consultar y de qué tablas? Todos los estudiantes junto con sus matrículas, incluyendo aquellos que no tienen ninguna matrícula registrada.

¿Qué tablas se ven afectadas o involucradas? estudiante, matricular

Condición No aplica (se listan todos los estudiantes independientemente de si tienen matrícula)

Comando a utilizar select con left join

Sintaxis

select e.carnet 'Carnet', e.nombre 'Estudiante', m.codreg 'Cod. Matrícula', m.valor 'Valor', m.fecha 'Fecha'

from estudiante e

left join matricular m on e.carnet = m.carnet

order by e.carnet;

3. CONSULTA CON RIGHT JOIN

¿Qué se desea consultar y de qué tablas? Todas las asignaturas y los estudiantes que están matriculados en ellas, incluyendo las asignaturas que no tienen ningún estudiante matriculado.

¿Qué tablas se ven afectadas o involucradas? matricular, asignatura

Condición No aplica (se listan todas las asignaturas aunque no tengan estudiantes matriculados)

Comando a utilizar select con right join

Sintaxis

select a.id 'ID Asignatura', a.nombre 'Asignatura', e.nombre 'Estudiante'

from matricular m

right join asignatura a on m.id = a.id

left join estudiante e on m.carnet = e.carnet

order by a.id;

4. CONSULTA CON INNER JOIN

¿Qué se desea consultar y de qué tablas? Los estudiantes de sexo femenino que están matriculados con el profesor Jorge Mauricio Sepúlveda, mostrando la asignatura y la jornada correspondiente.

¿Qué tablas se ven afectadas o involucradas? estudiante, matricular, profesor, asignatura, jornada

Condición p.nombre = 'Jorge Mauricio Sepúlveda' and e.sexo = 'femenino'

Comando a utilizar select con inner join

Sintaxis

select e.nombre 'Estudiante', a.nombre 'Asignatura', j.descripcion 'Jornada', p.nombre 'Profesor'

from estudiante e

inner join matricular m on e.carnet = m.carnet

inner join profesor p on m.cod = p.cod

inner join asignatura a on m.id = a.id

inner join jornada j on m.idj = j.idj

where p.nombre = 'Jorge Mauricio Sepúlveda'

and e.sexo = 'femenino'

order by e.nombre;

¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar