La boleta en una fila
- O(n log n) · Difícil
- Plan completo
- SQL
- uniones
- agrupar
- condicionales
Enunciado
En notas cada nota ocupa su propia fila. La boleta que se imprime no: lleva una fila por estudiante y una casilla por curso. En esta hoja van las tres materias de aula, Matemáticas, Historia y Ciencias, que son los cursos 1, 2 y 3. Música y Ajedrez van en otra.
Muestra el nombre de cada estudiante y sus notas de Matemáticas, de Historia y de Ciencias, en ese orden, por orden alfabético de nombre.
En la hoja está todo el mundo, también quien no lleva ninguno de los tres cursos. La casilla de un curso que no lleva queda vacía, y la de una nota pendiente también: en el papel no se distinguen.
Lo que tiene que devolver
Estas filas, en este orden
| nombre | matematicas | historia | ciencias |
|---|---|---|---|
| Emma | 9.5 | NULL | 6 |
| Hugo | 5.5 | 8 | NULL |
| Julia | 7 | NULL | NULL |
| Leo | 4 | NULL | 6.5 |
| Lucas | 8.5 | 7 | NULL |
| Martina | NULL | 9 | 8.5 |
| Sara | NULL | NULL | NULL |
Es lo que sale con los datos de la base de práctica del reto. Los nombres de las columnas no cuentan, las tuyas pueden llamarse como quieras: cuenta cuántas son y en qué orden van. Además de esta, el reto tiene pruebas ocultas con otros datos, que se revelan al enviar tu solución.
Empiezas con esto
SQL
SELECT e.nombre, n.curso_id,
n.nota
FROM estudiantes e
JOIN notas n
ON n.estudiante_id = e.id
ORDER BY e.nombre;Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.
Más retos de O(n log n)
- La lista del pasilloSQL · uniones · agrupar · ordenar
- La mesa de novedadesSQL · subconsultas · uniones
- Lo que Lima no ha probadoSQL · subconsultas · uniones
- Lo que sale y lo que noSQL · uniones · agrupar
- Los dos, no cualquieraSQL · conjuntos · subconsultas
- Los que faltan en la listaSQL · subconsultas · uniones · agrupar