Saltar al contenido

De qué tabla es cada columna

SQL · Unidad 7: Unir tablas

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

idcliente_idproducto_idcantidadfechaidnombreciudadedad
122612026-01-202LuisBogotá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. 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 name y señala a id. Quiere decir «hay más de una columna con ese nombre y no sé cuál quieres». ¿Qué línea tiene el problema?

  2. 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. 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. 4. Opción múltiple

    El alias p se declara en el FROM, y el SELECT, que está una línea más arriba, ya lo usa. ¿Por qué funciona?

  5. 5. Completa el código

    ¿Qué ha pedido Diego, el cliente 6? Completa el alias que le falta a la tabla.

  6. 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. 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 column y señala a clientes.nombre, y la tabla clientes sí tiene una columna nombre. ¿Qué línea tiene el problema?

  8. 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. 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. 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. 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 confirmar donde falte. Las filas van por nombre, y los paquetes de una misma persona, por número de pedido.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →