¿Qué me puedo llevar?
- O(n log n) · Difícil
- Plan completo
- SQL
- subconsultas
- nulos
- uniones
Enunciado
Alguien entra hoy a la biblioteca y pregunta qué puede llevarse. Un libro está en el estante si ninguno de sus préstamos sigue sin devolver: da igual cuántas veces haya salido antes, y el que nunca se ha prestado también está.
Muestra el título de cada libro disponible y el nombre de su autor, en ese orden. El libro que no tiene autor sale igual, con el texto sin autor.
Lo que tiene que devolver
Estas filas, en cualquier orden
| titulo | autor |
|---|---|
| Mapas de sal | Elena Rivas |
| Tres inviernos | Tomás Vera |
| Hojas sueltas | Marta Solís |
| Noche larga | Pedro Luna |
| Cuentos breves | sin autor |
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 l.titulo
FROM libros l
JOIN prestamos p
ON p.libro_id = l.id
WHERE p.devuelto IS NOT NULL;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)
- Baja, media y altaSQL · agrupar · condicionales · ordenar
- Cabos sueltosSQL · conjuntos · subconsultas · nulos
- Caras nuevasSQL · subconsultas · agrupar · uniones
- Con las manos vacíasSQL · subconsultas · nulos · agrupar
- Dos a la vezSQL · uniones · nulos · comparaciones
- El cuaderno del mostradorSQL · conjuntos · ordenar · nulos