De qué tabla es cada columna
SQL · Unidad 7: Unir tablas
- Plan completo
- SQL
- 11 ejercicios
El almacén busca cada paquete por su número de pedido. ¿Qué número espera cada cliente? Ese número es el id, y en cuanto se unen las tablas hay dos.
Un JOIN arma una tabla ancha, con todas las columnas de pedidos y, a continuación, todas las de clientes. Este es el pedido del 20 de enero con su cliente al lado, y tiene dos columnas id. La primera vale 12 y es el número del pedido. La segunda vale 2 y es Luis.
SELECT *
FROM pedidos
JOIN clientes
ON pedidos.cliente_id = clientes.id
WHERE fecha = '2026-01-20';Devuelve
| id | cliente_id | producto_id | cantidad | fecha | id | nombre | ciudad | edad |
|---|---|---|---|---|---|---|---|---|
| 12 | 2 | 6 | 1 | 2026-01-20 | 2 | Luis | Bogotá | 27 |
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. Encuentra el bug
La lista para el almacén, con el número de pedido y el nombre de quien lo espera, de los pedidos del 15 de enero. Aquí SQL contesta
ambiguous column namey señala aid. Quiere decir «hay más de una columna con ese nombre y no sé cuál quieres». ¿Qué línea tiene el problema?2. Predice la salida
El 14 de enero hubo un solo pedido, el número 9, y lo hizo Diego, que es el cliente 6. ¿Qué devuelve esta consulta?
3. Completa el código
En el almacén tienen en la mano el paquete del pedido 6. ¿De quién es, y a qué ciudad va? Completa el filtro.
4. Opción múltiple
El alias
pse declara en elFROM, y elSELECT, que está una línea más arriba, ya lo usa. ¿Por qué funciona?5. Completa el código
¿Qué ha pedido Diego, el cliente 6? Completa el alias que le falta a la tabla.
6. Predice la salida
Luis es el cliente 2, y sus pedidos son el 3, el 6 y el 12. El pedido número 2 es de Ana. ¿Qué devuelve esta consulta?
7. Encuentra el bug
¿Quién pidió Audífonos, que son el producto 7, y qué día? Alguien empezó a ponerle alias a esta consulta y dejó una línea a medias. Aquí SQL contesta
no such columny señala aclientes.nombre, y la tablaclientessí tiene una columnanombre. ¿Qué línea tiene el problema?8. Ordena las líneas
Los cuatro primeros pedidos de la tienda, los de antes del 10 de enero. Ordena la consulta que muestra de cada uno su número, el producto y la cantidad, del último al primero. Sobran dos líneas.
9. Opción múltiple
Esta consulta corre hoy, con dos columnas escritas sin su tabla. ¿Cuál de estos cambios en la base haría que mañana dejara de correr?
10. Ordena las líneas
El almacén quiere, de los pedidos del 14 de enero en adelante, el número de pedido y el número de cliente, cada uno con un título que diga cuál es, y el nombre. Ordena la consulta, con las filas por número de cliente y, dentro de cada cliente, por número de pedido. Sobran dos líneas.
11. Escribe el código
Lo que falta por entregar son los pedidos del 12 de enero en adelante. Escribe la hoja del repartidor, una consulta con tres columnas en este orden, el número del pedido, el nombre de quien lo recibe y su ciudad, que diga
por confirmardonde falte. Las filas van por nombre, y los paquetes de una misma persona, por número de pedido.
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.