Saltar al contenido

Varios pasos

SQL · Unidad 10: WITH y conjuntos

La escuela entrega un diploma al mejor promedio. ¿Quién se lo lleva? Antes hay que saber dos cosas, qué promedio tiene cada estudiante y cuál de esos promedios es el más alto. Después, de quién es.

Lo primero es un paso como los de la lección pasada. En notas cada fila lleva el número del estudiante, el del curso y la nota. Salen seis promedios. El 7 de la estudiante 4 es el de Julia, y el 8.33, de Martina, la 5.

WITH por_estudiante AS (
  SELECT estudiante_id,
    AVG(nota) AS promedio
  FROM notas
  GROUP BY estudiante_id
)
SELECT estudiante_id,
  ROUND(promedio, 2) AS redondeado
FROM por_estudiante;

Devuelve

estudiante_idredondeado
17.75
27.75
37.83
47
58.33
65.25

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Opción múltiple

    Julia, la estudiante 4, lleva dos cursos. En Matemáticas tiene un 7, y en Ciencias su nota todavía no está puesta. ¿De dónde sale su promedio de 7?

  2. 2. Predice la salida

    Los seis promedios son 7.75, 7.75, 7.83, 7, 8.33 y 5.25. En notas hay seis notas por debajo de 7.5. ¿Qué devuelve esta consulta?

  3. 3. Encuentra el bug

    El promedio más alto de la escuela. Aquí SQL contesta near "mejor": syntax error, y mejor está bien escrito. ¿Qué línea tiene el problema?

  4. 4. Predice la salida

    En esta escuela se aprueba con 6. De las 14 filas de notas, 11 tienen un 6 o más. Lucas, Emma y Hugo tienen dos de esas cada uno, Martina tres, y Julia y Leo, una. ¿Qué devuelve esta consulta?

  5. 5. Opción múltiple

    Una consulta de tres pasos devuelve un número que no te convence, y sospechas del segundo paso, por_estudiante. ¿Cómo miras qué filas dejó?

  6. 6. Completa el código

    Además del diploma, la escuela da una mención a quien queda a un punto o menos del mejor promedio, que es 8.33. Los seis promedios son 7.75, 7.75, 7.83, 7, 8.33 y 5.25. Completa la comparación del ON.

  7. 7. Encuentra el caso que falla

    Al diploma solo aspira quien tiene todas sus notas puestas. Hoy lo gana Martina, la estudiante 5, con 8.33 en tres cursos. Julia, la 4, tiene un 7 en Matemáticas y Ciencias pendiente. Leo, el 6, tiene un 4 y un 6.5. Esta consulta no mira si falta alguna nota. ¿Con cuál de estos cambios le da el diploma a quien no debe?

  8. 8. Escribe el código

    La escuela quiere ofrecer apoyo a quien tiene el promedio más bajo. El primer paso ya está. Escribe un segundo paso, peor, con el promedio más bajo en una columna valor, y la consulta que devuelve una columna, el estudiante_id de quien tiene ese promedio. Si dos empatan abajo, salen los dos.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →