Lección 2 de 6 · 2 min
Leer y filtrar datos: SELECT y WHERE
Al terminar sabrás
10 min- Escribir un SELECT que elige columnas de una tabla
- Filtrar filas con WHERE usando comparaciones, AND/OR, IN, LIKE y IS NULL
- Ordenar y limitar resultados con ORDER BY y LIMIT
Construyes: Un set de consultas para encontrar la fila exacta que dejó una acción de la app.
La consulta base
El 80% de lo que hace un QA en SQL es leer. La forma es siempre la misma:
SELECT columnas
FROM tabla
WHERE condicion
ORDER BY columna;
Para ver todo de una tabla:
SELECT * FROM reservas;
El * trae todas las columnas. Pero pedir solo lo que necesitas es más claro y rápido:
SELECT id, cliente_email, fecha, estado, total
FROM reservas;
WHERE: filtrar filas
WHERE es el corazón de la verificación: te deja quedarte solo con las filas que importan.
-- Reservas confirmadas
SELECT * FROM reservas WHERE estado = 'confirmada';
-- Reservas de un cliente
SELECT * FROM reservas WHERE cliente_email = 'juan@test.cl';
-- Combinando condiciones
SELECT * FROM reservas
WHERE estado = 'confirmada' AND total > 10000;
Operadores que usarás siempre: =, <> (distinto), >, <, >=, <=, y para combinar AND / OR.
Los filtros que salvan verificaciones
-- Varios valores a la vez
SELECT * FROM reservas WHERE estado IN ('pendiente', 'confirmada');
-- Coincidencia parcial de texto
SELECT * FROM clientes WHERE nombre LIKE 'Ana%'; -- empieza con Ana
SELECT * FROM clientes WHERE email LIKE '%@test.cl'; -- termina en @test.cl
-- Rango
SELECT * FROM reservas WHERE fecha BETWEEN '2026-07-01' AND '2026-07-31';
-- Reservas sin total (posible bug)
SELECT * FROM reservas WHERE total IS NULL;
Ordenar y limitar
-- La reserva más reciente de un cliente
SELECT * FROM reservas
WHERE cliente_email = 'juan@test.cl'
ORDER BY creada_en DESC -- DESC = de más nueva a más vieja
LIMIT 1;
ORDER BY ordena; DESC invierte; LIMIT corta. Con esto encuentras exactamente la fila que dejó la última acción de la app y verificas cada campo.
Comprueba lo aprendido en el quiz y escribe tus consultas en el reto.
Compruébalo
0/3Responde sin mirar atrás. Verás la explicación al instante.
1. ¿Qué devuelve SELECT id, total FROM reservas WHERE estado = 'confirmada';?
2. Para encontrar reservas con total NULL, ¿cuál es correcto?
3. ¿Qué hace WHERE nombre LIKE 'Ana%'?
Reto: encuentra la fila de tu acción
Imagina que acabas de crear una reserva para el cliente con email juan@test.cl hoy. Escribe la consulta que la encuentra en la tabla reservas.
Luego escribe una que liste todas las reservas de hoy que quedaron sin total (total NULL), ordenadas por fecha.