Tu primera consulta útil
Qué aprenderás
- escribir consultas con una lista explícita de columnas tras
SELECTy un filtro de filas medianteWHERE - traducir una pregunta de negocio a SQL siguiendo esta ruta: entidad →
FROM, restricciones →WHERE(conAND), salida →SELECT, orden →ORDER BY - explicar por qué
SELECT *es una mala práctica en consultas de producción - comprobar una consulta leyéndola en voz alta: si tu paráfrasis coincide con la pregunta original, la consulta tiene el sentido correcto
El mapa ya está estudiado, y QUERY cambia las reglas. Hasta ahora contemplabas el archivo entero, como un turista; un archivista trabaja de otra manera. En la holopantalla se apaga todo menos una tabla, y aparece una tarea: formula tu pregunta de modo que en la respuesta no sobre ni una fila ni una columna.
Elegimos las columnas y las filas que necesitamos
Cogerlo todo con * es cómodo para un primer contacto, pero en el trabajo real es como llevarse todo el almacén a la caja. Normalmente necesitas campos concretos: enuméralos separados por comas después de SELECT.
Con las filas pasa lo mismo: en lugar de todo el escaparate, escoge solo el segmento que necesitas mediante WHERE. Por ejemplo, pidamos a «Kotomarket» solo los productos de la categoría Libros:

Choosing the columns and rows you need
Grabbing everything with * is convenient for a first look, but in real work it’s like hauling the entire warehouse up to the checkout. Usually you need specific fields: list them, comma-separated, after SELECT.
It’s the same with rows: instead of the whole storefront, pick only the segment you need via WHERE. For example, let’s ask Kotomarket for only the products in the Books category:
| name | price |
|---|---|
| SQL для профи | 1290.00 |
| Чистый код | 1490.00 |
| Алгоритмы на практике | 1690.00 |
De la pregunta de negocio a la consulta
Las preguntas reales no le llegan al archivista en SQL: «¿qué libros cuestan menos de mil quinientos?», «¿qué hay de electrónica por encima de 5000?». La traducción siempre sigue la misma ruta:
- Entidad → tabla. ¿De qué trata la pregunta: de productos, clientes, pedidos? «Libros por debajo de 1500» trata de productos, así que
FROM products. - Restricciones → WHERE. Cada condición de la pregunta se convierte en una condición de filtro: categoría «Libros», precio menor que 1500.
- Qué mostrar → SELECT. ¿Qué quiere ver la persona en la respuesta? El nombre y el precio: eso es lo que enumeramos; lo demás es ruido.
- Forma de la respuesta → ORDER BY. «De baratos a caros» es una ordenación por precio.
-- «¿Qué libros cuestan menos de 1500 y cuánto, de baratos a caros?»
SELECT name, price
FROM products
WHERE category = 'Книги' AND price < 1500
ORDER BY price;
Varias condiciones se combinan con la palabra AND; veremos los operadores de filtro en detalle en el próximo capítulo.
Y el hábito complementario de un buen archivista: lee la consulta terminada en voz alta, como una frase. «Tomar los productos que son libros y cuestan menos de 1500, mostrar el nombre y el precio, ordenar por precio»: si la paráfrasis coincide con la pregunta original, la consulta tiene el sentido correcto. Si en la paráfrasis asoma «todas las columnas» o «todo el escaparate», vuelve atrás y estréchala.
Interview question
Pregunta de entrevista: ¿por qué SELECT * se considera una mala práctica en las consultas de producción?
Buena respuesta: primero, por exceso de datos: la red y la memoria se gastan en columnas que no hacen falta, y la base pierde la posibilidad de responder solo desde el índice (index-only scan; los índices, en el Capítulo 10). Segundo, por fragilidad: al añadir o renombrar columnas se rompen los informes y el código que esperan un conjunto y un orden de columnas concretos. Una lista explícita de columnas es el contrato de la consulta; SELECT * solo es apropiado en la exploración interactiva de datos.
SELECT name FROM products WHERE category = 'Книги'?The index has been read: you know what’s in the five tables and which threads stitch them together. QUERY dims the map, and the next clearance level lights up on the holopanel — the reading terminal.
QUERY: Remember the cardinal property of this place: the archive answers only well-formed questions. From the next clearance on, we learn to ask precisely.