Módulo 2 · Filtrar datos

Práctica: elige el filtro adecuado

Combina los filtros aprendidos y decide cuál resuelve cada pregunta.

25 minNivel repasoAntes necesitas: WHERE, comparadores, AND/OR/NOT, BETWEEN, IN, LIKE y NULL

0 de 45 lecciones

Al terminar, podrás

  • Traducir una condición escrita a operadores SQL.
  • Agrupar correctamente combinaciones de AND y OR.
  • Explicar por qué cada fila entra o queda fuera.

Recupera lo aprendido: Sin mirar las notas, elige un operador para una lista, un rango, un patrón y un valor ausente.

La idea clave

Filtrar bien consiste en separar la pregunta en condiciones pequeñas, escoger el operador de cada una y decidir cómo se combinan. Predice primero una fila que debe entrar y otra que debe quedar fuera.

Método de cuatro pasos: columna → operador → valor o patrón → conexión lógica.

Mapa de decisión

  • Lista cerrada: IN (...).
  • Intervalo inclusivo: BETWEEN minimo AND maximo.
  • Patrón de texto: LIKE.
  • Ausencia de valor: IS NULL.
  • Varias condiciones obligatorias: AND; alternativas: OR.

Ejemplo paso a paso

Buscamos clientes activos de Madrid o Bilbao que tengan un correo conocido.

Consulta combinada
SELECT nombre, ciudad
FROM clientes
WHERE activo = 1
  AND ciudad IN ('Madrid', 'Bilbao')
  AND email IS NOT NULL
ORDER BY nombre;
Resultado esperado
nombreciudad
Ana TorresMadrid
Lucía VegaBilbao
Marta RuizMadrid
Noa VidalMadrid

Cómo se decide

  1. activo = 1 descarta a Pablo Sanz.
  2. IN expresa las dos ciudades sin repetir la columna.
  3. IS NOT NULL descarta a Diego López aunque vive en Bilbao.
Comprueba tu comprensión

¿Qué condición expresa «Accesorios o Pantallas, y además stock positivo»?

Un error habitual

Dejar que la prioridad cambie la pregunta

Consulta ambigua
SELECT nombre, categoria, stock
FROM productos
WHERE categoria = 'Accesorios'
   OR categoria = 'Pantallas' AND stock > 0;

AND se evalúa antes que OR. Así, todos los accesorios entrarían aunque su stock fuera cero. Usa IN o paréntesis para que el stock se exija a ambas categorías.

Practica con datos

Laboratorio SQL

Resuelve la consulta

Pendiente

Escribe una consulta que devuelva nombre, categoría y stock de Accesorios o Pantallas cuyo stock esté entre 1 y 10.

Resultado esperado: 3 filas con nombre, categoria, stock. El orden de las filas no importa.

Ver tablas y datos

Cargando la estructura del ejercicio…

La consulta usa datos ficticios y se ejecuta solo en este navegador.

Ronda autónoma

1. Correos desconocidos fuera de Madrid

Devuelve nombre y ciudad de clientes cuyo correo sea desconocido y cuya ciudad no sea Madrid.

Ver la solución
Solución SQL
SELECT nombre, ciudad
FROM clientes
WHERE email IS NULL
  AND ciudad <> 'Madrid'
ORDER BY nombre;

Devuelve Diego López y Mario Gil. Pablo Sanz queda fuera por vivir en Madrid.

2. Productos de pantalla o sin stock

Devuelve nombre, categoría y stock de productos cuya categoría sea Pantallas o cuyo stock sea cero. Ordena por nombre.

Ver la solución
Solución SQL
SELECT nombre, categoria, stock
FROM productos
WHERE categoria = 'Pantallas'
   OR stock = 0
ORDER BY nombre;

La consulta devuelve Altavoz, Monitor 24, Monitor 27 y Portátil Pro.

Fuentes técnicas consultadas

Estas fuentes oficiales respaldan la sintaxis y los matices señalados en la lección.

Comprueba si puedes explicarlo

En la práctica, ¿un accesorio con stock 0 debe aparecer? ¿Y uno con stock 10?

Ver respuesta razonada

El de stock 0 queda fuera; el de stock 10 entra. Primero exige la categoría adecuada y después el rango inclusivo de 1 a 10. Teclado, Monitor 24 y Monitor 27 cumplen ambas condiciones.

Responde antes de abrir la explicación. Si necesitaste ayuda, cierra la respuesta y vuelve a explicarlo con tus palabras antes de dar la lección por aprendida.

Qué debes recordar

  • Divide la pregunta antes de escribir SQL.
  • Usa IN, BETWEEN, LIKE y IS NULL según la intención.
  • Haz explícita la agrupación lógica cuando combines AND y OR.

A continuación: continúa con ordenación y límites.

Conceptos relacionados