Está en la página 1de 2

PRIMERA PRACTICA DIRIGIDA ST203V

1. Operaciones elementales con tablas.


SELECT * FROM ESTADOS;
SELECT ESTADOS.* FROM ESTADOS;
SELECT destado, cestado from ESTADOS;
SELECT destado nombre_estado, cestado código_estado from ESTADOS;
SELECT ‘nombre estado’, destado from ESTADOS;
2. Mostrar los periodos académicos NO activos
SELECT * FROM PERIODOACADEMICO
WHERE cestado = ‘1’;
3. Mostrar la descripción de las calificaciones
SELECT DCALIFICACION FROM CALIFICACION;
4. Mostrar la descripción de las calificaciones que figuran como ‘APROBADO’
SELECT DCALIFICACION FROM CALIFICACION
WHERE ccalificacion = ‘1’ OR ccalificacion = ‘2’ OR ccalificacion = ‘3’;
--WHERE ccalificacion in (‘1’, ‘2’, ‘3’);
Errores frecuentes con el uso de más de una tabla.
SELECT * from periodoacademico, cursos;
5. Mostrar los cursos programados en todos los periodos académicos y que tengan tres créditos.
Select cursosxperiodo.cperiodo, cursosxperiodo.ccurso, dcurso, creditos
From periodoacademico, cursos, cursosxperiodo
Where periodoacademico.cperiodo = cursosxperiodo.cperiodo
and cursos.ccurso = cursosxperiodo.ccurso
and periodoacademico.cestado ='0'
and cursos.cestado = '0'
and creditos = 3;

Otra forma
Select A.cperiodo, B.ccurso, dcurso, creditos
From periodoacademico A, cursos B, cursosxperiodo C
Where A.cperiodo = C.cperiodo
and B.ccurso = C.ccurso
and A.cestado ='0'
and B.cestado = '0'
and creditos = 3;
6. Alumnos matriculados en el periodo académico 20162
SELECT a.cperiodo, a.ccurso,c.dcurso, a.cseccion,
a.calumno,b.nombrealumno, d.dcalificacion
FROM notasalumno a, alumno b, cursos c, calificacion d
WHERE a.calumno = b.calumno
AND a.ccurso = c.ccurso
AND a.ccalificacion = d.ccalificacion
AND a.cperiodo = '20162';

7. Número de créditos aprobados por el alumno 20165026K


SELECT 'Numero de creditos aprobados por ',a.calumno, a.nombrealumno, sum(b.creditos)
FROM alumno a, cursos b, notasalumno c
WHERE a.calumno = c.calumno
AND a.calumno = '20165026K'
AND b.ccurso = c.ccurso
AND c.nota > 9
group by a.calumno, a.nombrealumno;

--OTRA FORMA
--SELECT 'Numero de creditos aprobados por ',a.calumno, a.nombrealumno, sum(b.creditos)
--FROM alumno a, cursos b, notasalumno c
--WHERE a.calumno = c.calumno
--AND a.calumno = &CODIGO
--AND b.ccurso = c.ccurso
--AND c.nota > 9
--group by a.calumno, a.nombrealumno;

8. Alumnos que NO han ingresado el año 2010 y que tengan un apellido PALOMINO
SELECT a.calumno, a.nombrealumno, b.cperiodo, b.ccurso,b.cseccion
FROM alumno a, notasalumno b
WHERE a.calumno = b.calumno
AND not a.calumno like '2010%'
AND a.nombrealumno like '%PALO%'
order by a.calumno DESC;

9. Contar a los alumnos que han desaprobado algún curso, mostrar el número de veces de cursos
desaprobados en forma descendente.
SELECT a.calumno, a.nombrealumno, b.cperiodo, b.ccurso, COUNT(*) cantidad
FROM alumno a, notasalumno b
WHERE a.calumno = b.calumno
AND b.nota < 10
GROUP BY a.calumno, a.nombrealumno, b.cperiodo,b.ccurso
order by cantidad desc;

10. Alumnos de Sistemas que han desaprobado algún curso


SELECT a.calumno COD, substr(a.nombrealumno,1,40) NOMBRE, c.descuela
FROM alumno a, escuela c
WHERE a.calumno IN (SELECT UNIQUE b.calumno FROM notasalumno b
WHERE b.nota < 10 and b.nota is not null)
AND a.escuela = c.escuela
AND c.escuela = ‘01’
ORDER BY a.calumno;

11. SELECT DISTINCT a.calumno COD, substr(a.nombrealumno,1,40) NOMBRE, c.descuela


FROM alumno a, escuela c
WHERE EXISTS (SELECT UNIQUE b.calumno FROM notasalumno b
WHERE b.nota < 10 and b.nota is not null)
AND a.escuela = c.escuela
AND c.escuela = '01'
ORDER BY a.calumno;

Proponga una manera mas simple

NOTA
update notasalumno set nota = 12, ccalificacion = '1'
where cperiodo in ('20141', '20142')
and ccurso like 'H%';

También podría gustarte