SQL Inicial · Lección 3 de 5
Ordenar y armar rankings
Las preguntas más útiles de un negocio suelen ser rankings: lo más vendido, lo más caro, lo que se está por terminar. Con dos palabras, ORDER BY y LIMIT, los armás en segundos.
Primero ordenar, después cortar
Una base de datos no garantiza ningún orden: si no lo pedís, las filas pueden venir en cualquier secuencia. Para ordenarlas usás ORDER BY y el nombre de la columna. Por defecto ordena de menor a mayor (ASC); si agregás DESC, de mayor a menor. Con textos ordena alfabéticamente y con fechas, de la más vieja a la más nueva.
Después, LIMIT corta el resultado: LIMIT 3 deja solo las primeras tres filas. Juntos arman un ranking: ORDER BY precio DESC LIMIT 3 son los tres productos más caros.
| Querés saber… | Escribís |
|---|---|
| Del más barato al más caro | ORDER BY precio |
| Del más caro al más barato | ORDER BY precio DESC |
| Lista alfabética de productos | ORDER BY nombre |
| El producto con menos stock | ORDER BY stock LIMIT 1 |
| Ordenar por categoría y, dentro de cada una, por precio | ORDER BY categoria, precio |
¿Importa el orden de las palabras?
Sí, y siempre es el mismo. Si lo memorizás, ya tenés el esqueleto de la mayoría de las consultas que vas a escribir:
Una forma de recordarlo: primero decís qué querés ver, de dónde, cuáles filas, en qué orden y cuántas. WHERE, ORDER BY y LIMIT son opcionales, pero si están, van en ese lugar.
Actividad 1
Armá la consulta
Pregunta del almacén: "¿cuál es la bebida más cara?". Las piezas de la consulta están desordenadas. Tocalas en el orden correcto para armarla.
Actividad 2
Rankings del almacén
Ahora escribilas vos. La lección revisa el resultado, incluido el orden de las filas. Antes de escribir, ubicate: mirá qué columnas tiene la tabla y abrí la tabla completa.
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.
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 la lección 3.
- 1Mostrá
nombreypreciode todos los productos, del más barato al más caro. - 2Mostrá
nombreypreciode los 3 productos más caros. - 3Mostrá
nombreystockde los 5 productos con menos stock, empezando por el que tiene menos.
Tu misión, la tabla completa, los mensajes y la ayuda están en el panel de la izquierda.
Tocá Ejecutar para ver el resultado.
Chequeo rápido
¿Qué devuelve esta consulta?
SELECT nombre FROM productos ORDER BY stock LIMIT 1;
Que la IA te revise antes de ejecutar
Cuando una consulta no te da lo que esperabas, pegala junto con lo que querías obtener. Copiá este pedido y cambiá lo que está entre corchetes:
Quería obtener [los 3 productos más caros] y escribí esta consulta: [pegá tu consulta]. Me devuelve [lo que te devolvió]. ¿Qué está mal y por qué?
Así no solo la arreglás: entendés el error y no lo repetís.
ORDER BY ordena (de menor a mayor, o con DESC de mayor a menor) y LIMIT corta. El orden de las palabras es siempre SELECT, FROM, WHERE, ORDER BY, LIMIT.Ya armás rankings