UNION
SQL · Unidad 10: WITH y conjuntos
- Plan completo
- SQL
- 10 ejercicios
La biblioteca del barrio cumple años y da una fiesta. Invita a sus autores y a sus socios. ¿A quién le manda invitación? Los nombres están en dos tablas. Los autores, en autores. Los socios, en prestamos, donde cada fila es un libro que salió, con el socio que se lo llevó, el día en que salió y el día en que volvió.
UNION pone el resultado de una consulta debajo del de otra. No empareja nada, como haría un JOIN. Apila. La columna se titula como en el primer SELECT. Ana se ha llevado tres libros y sale una vez, porque UNION quita las filas repetidas.
SELECT libro_id, socio, prestado,
devuelto
FROM prestamos;
SELECT nombre
FROM autores
UNION
SELECT socio
FROM prestamos;Devuelve
| libro_id | socio | prestado | devuelto |
|---|---|---|---|
| 1 | Ana | 2026-01-02 | 2026-01-09 |
| 3 | Luis | 2026-01-03 | 2026-01-05 |
| 1 | Diego | 2026-01-10 | NULL |
| 4 | Ana | 2026-01-10 | 2026-01-14 |
| 6 | Camila | 2026-01-12 | NULL |
| 3 | Ana | 2026-01-13 | NULL |
| 7 | Luis | 2026-01-08 | 2026-01-15 |
| 2 | Bruno | 2025-12-20 | 2026-01-04 |
Devuelve
| nombre |
|---|
| Ana |
| Bruno |
| Camila |
| Diego |
| Elena Rivas |
| Luis |
| Marta Solís |
| Nora Paz |
| Pedro Luna |
| Tomás Vera |
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. Predice la salida
Tienen un libro sin devolver Diego, Camila y Ana. «El faro», que es el libro 1, se lo han llevado Ana y Diego. ¿Qué devuelve esta consulta?
2. Ordena las líneas
La biblioteca dedica este mes a Chile y organiza una lectura. Invita a sus autores chilenos y, para llenar la sala, a los socios que tienen ahora un libro en casa. Ordena la consulta que da todos esos nombres en una columna titulada
nombre, de la Z a la A. Sobran dos líneas.3. Encuentra el bug
La lista de invitados lleva dos columnas, el nombre y el país. De los socios no se sabe el país, y en su fila tiene que decir
sin dato. Aquí SQL contesta que losSELECTde los dos lados delUNIONno tienen el mismo número de columnas. ¿Qué línea tiene el problema?4. Ordena las líneas
La editorial de «El faro», el libro 1, quiere una mesa redonda con los autores de fuera de Chile y con los socios que se han llevado el libro. Ordena la consulta que da el nombre y el papel de cada uno, primero los autores y después los socios, y dentro de cada papel de la Z a la A. Sobran dos líneas.
5. Predice la salida
«El faro» es el libro 1, y se lo han llevado Ana y Diego. «La casa azul» es el 3, y se lo han llevado Luis y Ana. ¿Qué devuelve esta consulta?
6. Encuentra el bug
El registro de «El faro», el libro 1, con cada día en que salió o volvió y el socio que pasó por el mostrador. La consulta corre, y en la última fila el día dice
Ana. ¿Qué línea tiene el problema?7. Completa el código
¿Quién pasa más por el mostrador? Cada préstamo es una visita, y cada devolución, otra. Las dos listas se apilan en un paso, y la consulta de abajo cuenta las filas de cada socio. Completa lo que une las dos listas.
8. Opción múltiple
¿Qué días ha tenido movimiento el mostrador? Tres préstamos siguen sin devolver, y su
devueltoesNULL.UNIONquita repetidos igual queDISTINCT. ¿Cuántas filas vacías trae el resultado?9. Encuentra el caso que falla
El registro del mostrador lleva una fila por visita, con el día y el socio. Hoy tiene 13, ocho salidas y cinco devoluciones. Alguien lo escribió con
UNIONa secas. ¿Con cuál de estos cambios pierde una visita?10. Escribe el código
El registro de «La casa azul», el libro 3. Escribe una consulta con dos columnas en este orden, el día y lo que pasó ese día, que es el texto
salecuando el libro se prestó yvuelvecuando se devolvió. Una fila por cada salida y una por cada devolución que ya ocurrió, del día más antiguo al más reciente.
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.