Issuu on Google+

a) Número total de alumnos que tienen nota en la asignatura de Entornos Gráficos. SELECT DISTINCT COUNT (N.DNI) FROM NOTAS N WHERE N.COD = ( SELECT COD FROM ASIGNATURAS A WHERE A.NOMBRE = 'Entornos Gráficos') b) Número total de alumnos que han aprobado (nota >=5) la asignatura de Entornos Gráficos. SELECT COUNT (N.DNI) FROM NOTAS N, ASIGNATURAS A WHERE N.COD = A.COD AND N.NOTA >= 5 AND A.NOMBRE = 'Entornos Gráficos' c) Número total de asignaturas aprobadas de Díaz Fernández, María. SELECT DISTINCT COUNT (N.COD) FROM NOTAS N, ALUMNOS A WHERE A.DNI = N.DNI AND A.APENOM = 'Díaz Fernández, María' AND N.NOTA >= 5

d) Nota mínima y nota máxima de Díaz Fernández, María. SELECT MAX (N.NOTA)'NOTA MÁXIMA', MIN(N.NOTA)'NOTA MÍNIMA' FROM NOTAS N, ALUMNOS A WHERE A.DNI = N.DNI AND A.APENOM = 'Díaz Fernández, María' e) Lista con el nombre de los alumnos y el número de veces que aparece la letra “e” en su nombre. SELECT LEN (A.APENOM) - LEN ( REPLACE (A.APENOM, 'E', '')) FROM ALUMNOS A f) Lista con todas las asignaturas. Muestra el nombre de la asignatura y su longitud en caracteres. SELECT NOMBRE, LEN (A.NOMBRE)'LONGITUD' FROM ASIGNATURAS A g) Lista con el nombre de aquellas asignaturas cuyo nombre contiene el carácter ”.” (no utilizar LIKE, sino funciones de cadenas de caracteres) SELECT A.NOMBRE FROM ASIGNATURAS A WHERE A.NOMBRE NOT IN (SELECT REPLACE (B.NOMBRE, '.', '') FROM ASIGNATURAS B ) h) Lista con el nombre de asignaturas en las que no hay ningún suspenso. SELECT DISTINCT A.NOMBRE FROM ASIGNATURAS A WHERE A.COD IN ( SELECT DISTINCT N.COD FROM NOTAS N WHERE N.NOTAS >= 4 )


i) Lista con los apellidos y nombre de aquellos alumnos que no tienen ninguna asignatura aprobada. SELECT A.APENOM FROM ALUMNOS A WHERE A.DNI IN ( SELECT N.DNI FROM NOTAS N WHERE NOTAS < 5) j) Lista con todos los datos de los alumnos que han cursado FOL. Deberás mostrar también su edad. SELECT * , DATEDIFF(YEAR, A.FECNAC, GETDATE()) AS EDAD FROM ALUMNOS A WHERE A.DNI IN ( SELECT DISTINCT N.DNI FROM NOTAS N, ASIGNATURAS B WHERE N.NOTAS >= 0 AND B.NOMBRE = 'FOL' ) k) Días totales de vida que tiene Díaz Fernández, María. SELECT A.APENOM, DATEDIFF(DD, A.FECNAC, GETDATE()) FROM ALUMNOS A WHERE A.APENOM = 'Alcade García, Elena' l) Lista con los alumnos que a día de hoy son mayores de edad (18 años o más). SELECT * FROM ALUMNOS B WHERE DATEDIFF(YEAR, B.FECNAC, GETDATE()) >= 18 a) m) Lista con los apellidos y nombre de cada alumno, su edad en años, y la fecha en la que han cumplido o cumplirán la mayoría de edad. SELECT A.APENOM , DATEDIFF(YEAR, A.FECNAC, GETDATE()) AS EDAD, CONVERT(VARCHAR, DATEADD(YEAR, 18, A.FECNAC ),103) AS 'MAYORIA DE EDAD' FROM ALUMNOS A n) Lista con los apellidos y nombres de los alumnos, seguidos de su fecha de nacimiento en formato “dd de mes de año” (EJ: 14 de Diciembre de 2010). SELECT A.APENOM, cast (day(A.FECNAC) AS varchar) + ' de ' + datename(month, A.FECNAC) + ' de ' + cast(year(A.FECNAC) AS varchar) 'FECHA DE NACIMIENTO' FROM ALUMNOS A SELECT A.APENOM, REPLACE (CONVERT(VARCHAR, A.FECNAC,106), ' ', ' de ') 'FECHA DE NACIMIENTO' FROM ALUMNOS A o) Lista con los nombres y teléfonos de los alumnos que hayan suspendido la asignatura de Entornos Gráficos. SELECT AL.APENOM, AL.TELEF FROM ALUMNOS AL WHERE AL.DNI IN (SELECT N.DNI FROM NOTAS N WHERE N.NOTAS < 5 AND N.COD = (SELECT ASI.COD FROM ASIGNATURAS ASI WHERE NOMBRE = 'Entornos Gráficos'))


p) Obtén todos los datos de las asignaturas que no tengan alumnos asociados (no hay nota en esas asignaturas para ningún alumno). SELECT ASI.NOMBRE FROM ASIGNATURAS ASI WHERE ASI.COD NOT IN ( SELECT DISTINCT N.COD FROM ALUMNOS AL, NOTAS N WHERE AL.DNI = N.DNI )


Prueba