Varios pasos
SQL · Unidad 10: WITH y conjuntos
- Plan completo
- SQL
- 8 ejercicios
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_id | redondeado |
|---|---|
| 1 | 7.75 |
| 2 | 7.75 |
| 3 | 7.83 |
| 4 | 7 |
| 5 | 8.33 |
| 6 | 5.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. 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. Predice la salida
Los seis promedios son 7.75, 7.75, 7.83, 7, 8.33 y 5.25. En
notashay seis notas por debajo de 7.5. ¿Qué devuelve esta consulta?3. Encuentra el bug
El promedio más alto de la escuela. Aquí SQL contesta
near "mejor": syntax error, ymejorestá bien escrito. ¿Qué línea tiene el problema?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. 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. 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. 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. 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 columnavalor, y la consulta que devuelve una columna, elestudiante_idde quien tiene ese promedio. Si dos empatan abajo, salen los dos.
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.