SQL Intermedio · Lección 6 de 6
Taller: el informe de abril
Cerramos el módulo como en un trabajo real: preguntas de negocio que necesitan varias tablas, reglas y pasos. Después, la evaluación final.
Todo junto: el modelo, JOIN, CASE y WITH
En el trabajo las preguntas no vienen separadas por tema. "¿Quiénes fueron los mejores clientes de abril?" necesita unir tres tablas (JOIN), filtrar el mes (WHERE), sumar (GROUP BY), etiquetar (CASE) y, para que se entienda, ordenar todo en pasos (WITH).
El método de SQL Inicial sigue sirviendo, con un paso más al principio: ¿qué tablas necesito y cómo se conectan?
¿Cómo filtro un mes?
Las fechas están guardadas como texto año-mes-día ('2026-04-15'). Para quedarte con abril, alcanza con WHERE v.fecha LIKE '2026-04%': "que empiece con 2026-04". En SQL Avanzado vas a ver funciones de fecha y cómo comparar un mes contra otro.
Con preguntas de varios pasos, la IA es una gran ayuda para el primer borrador, pero el paso 4 sigue siendo tuyo: si la gaseosa vendió 3.000 unidades en un almacén de barrio, algo está mal aunque la consulta no tenga errores.
Actividad 1
Taller: el informe de abril
Tres preguntas, con el editor vacío. Tenés las cuatro tablas a mano. Para filtrar abril usá LIKE '2026-04%'.
ventas:idINTEGERfechaDATEcliente_idINTEGERproducto_idINTEGERsucursal_idINTEGERcantidadINTEGERPrimer paso: explorar toda la tabla
Antes de escribir tu consulta, conviene mirar la tabla completa. Esta consulta trae todas las columnas (eso significa el asterisco) y todas las filas:
SELECT * FROM ventas;
Cargando la tabla…
Cada fila es una compra: cuándo, quién, qué, en qué sucursal y cuántas unidades. Fijate que cliente_id, producto_id y sucursal_id no son nombres: son números que apuntan a otra tabla. Para traer esos nombres se usa JOIN.
Hacelo siempre como primer paso cuando trabajes con una tabla nueva. Si la tabla es enorme, sumale LIMIT 20 para ver solo una muestra, como viste en SQL Inicial.
productos:idINTEGERnombreTEXTcategoriaTEXTprecioREALstockINTEGERPrimer paso: explorar toda la tabla
Antes de escribir tu consulta, conviene mirar la tabla completa. Esta consulta trae todas las columnas (eso significa el asterisco) y todas las filas:
SELECT * FROM productos;
Cargando la tabla…
Mirándola te ubicás: qué columnas hay, cómo están escritos los textos (por ejemplo, 'Lácteos' con mayúscula y tilde) y entre qué valores andan los números. Con eso armás tu consulta sin adivinar. Su id es el número que aparece en ventas.producto_id.
Hacelo siempre como primer paso cuando trabajes con una tabla nueva. Si la tabla es enorme, sumale LIMIT 20 para ver solo una muestra, como viste en SQL Inicial.
clientes:idINTEGERnombreTEXTbarrioTEXTtelefonoTEXTPrimer paso: explorar toda la tabla
Antes de escribir tu consulta, conviene mirar la tabla completa. Esta consulta trae todas las columnas (eso significa el asterisco) y todas las filas:
SELECT * FROM clientes;
Cargando la tabla…
Cada fila es una persona que compra en el almacén. Su id es el número que aparece en ventas.cliente_id.
Hacelo siempre como primer paso cuando trabajes con una tabla nueva. Si la tabla es enorme, sumale LIMIT 20 para ver solo una muestra, como viste en SQL Inicial.
sucursales:idINTEGERnombreTEXTbarrioTEXTPrimer paso: explorar toda la tabla
Antes de escribir tu consulta, conviene mirar la tabla completa. Esta consulta trae todas las columnas (eso significa el asterisco) y todas las filas:
SELECT * FROM sucursales;
Cargando la tabla…
Las tres sucursales del almacén. Su id es el número que aparece en ventas.sucursal_id.
Hacelo siempre como primer paso cuando trabajes con una tabla nueva. Si la tabla es enorme, sumale LIMIT 20 para ver solo una muestra, como viste en SQL Inicial.
- 1"¿Cuántas gaseosas vendimos en abril?" Mostrá solo el total de unidades.
- 2"¿Cuánto facturó cada sucursal en abril?" Mostrá el nombre de la sucursal y su facturación, de la que más facturó a la que menos.
- 3"¿Quiénes fueron los mejores clientes de abril?" Con un WITH, armá la facturación de abril de cada cliente y mostrá nombre, total y una etiqueta:
'top'si facturó más de 20000 y'resto'si no. Ordená de mayor a menor.
Tu misión, las tablas, los mensajes y la ayuda están en el panel de la izquierda.
Tocá Ejecutar para ver el resultado.
Que la IA te dé un borrador, y vos lo verificás
Para preguntas largas, darle a Gemini las tablas exactas cambia todo. Copiá este pedido y cambiá lo que está entre corchetes:
Tengo estas tablas: [ventas (id, fecha, cliente_id, producto_id, sucursal_id, cantidad)], [productos (id, nombre, categoria, precio, stock)] y [clientes (id, nombre, barrio)]. Las fechas son texto con formato año-mes-día. Escribime una consulta SQL con WITH para responder: [¿quiénes fueron los mejores clientes de abril?]. Explicame cada paso.
Ejecutá el borrador y revisalo: ¿usa las columnas que existen? ¿El resultado es razonable?
Actividad 2
Evaluación del módulo
8 preguntas. Con 6 o más, aprobás SQL Intermedio.
Terminaste SQL Intermedio