Ejemplos Consultas SQL

Anuncio
Ejemplos Consultas SQL
i.
Seleccionar nombre y apellido de todos los profesores.
SELECT nombre, apellido
persona.rut = profesor.rut
ii.
FROM
persona
INNER
JOIN
profesor
ON
Hacer un listado de los ayudantes por curso.
SELECT curso.id_curso, persona.nombre, persona.apellido FROM persona
INNER JOIN (ayudante INNER JOIN (ayudantia INNER JOIN curso ON
curso.id_curso = ayudantia.id_curso) ON ayudante.rut = ayudantia.rut)
ON persona.rut = ayudante.rut
iii.
Contar los cursos por semestre.
SELECT semestre.anio, semestre.id_semestre, COUNT(*) FROM semestre
INNER JOIN curso ON curso.anio=semestre.anio AND curso.id_semestre =
semestre.id_semestre GROUP BY anio, id_semestre
iv.
Obtener la media de inscritos por asignatura.
SELECT asignatura.sigla, AVG(numero_inscritos) FROM asignatura INNER
JOIN curso ON asignatura.sigla = curso.sigla ORDER BY sigla
v.
Con el nombre de un curso en particular (curso con id=12), buscar una sala
disponible para ese curso el viernes bloque 5-6. Debe considerarse la capacidad del
curso.
SELECT sala.id_sala FROM sala LEFT OUTER JOIN (asignacion INNER JOIN
horario ON horario.id_horario = reserva.id_horario) ON sala.id_sala =
asignacion.id_sala WHERE horario.bloque='5-6' AND sala.capacidad <=
(SELECT
numero_inscritos
FROM
curso
WHERE
id_curso=12)
AND
asignacion.id_sala IS NULL
vi.
Con una sala en particular (id_sala=2), obtener todos los recursos distintos
asignados a esa sala.
SELECT DISTINCT id_recurso FROM prestamo_recurso WHERE id_Sala=2
vii.
Con una sala en particular (id_sala=2), obtener todos los profesores que el primer
semestre del 2007 ocuparon esa sala.
SELECT DISTINCT curso.rut from curso INNER JOIN asignacion ON
curso.id_curso = asignacion.id_curso WHERE asignacion.id_sala = 2 AND
curso.anio=2007 AND curso.id_semestre=1
viii.
Mostrar una tabla con cada uno de los ayudantes para cada profesor.
SELECT curso.rut, ayudantia.rut_ayudante
curso.id_curso = ayudantia.id_curso
FROM
curso
INNER
JOIN
ayudantia
ON
Descargar