Cuando consultas una tabla con SELECT, obtienes todos los registros. Pero casi nunca necesitas verlos todos — necesitas los que cumplen alguna condición. Para eso existe WHERE.
¿Para qué sirve WHERE?
WHERE te permite agregar un filtro a tu consulta. Solo se devuelven las filas que cumplen la condición que especificas. Es como decirle a la base de datos: "dame los empleados que ganan más de 3000" o "dame los pedidos del mes de enero".
Sin WHERE, SELECT devuelve toda la tabla. Con WHERE, devuelve solo las filas relevantes.
Sintaxis
SELECT columna1, columna2
FROM nombre_tabla
WHERE condicion;
La condición compara el valor de una columna contra un valor que tú defines, usando operadores como =, >, <, >=, <= o !=.
Ejemplo 1: filtrar por igualdad
Tienes una tabla empleados y quieres ver solo los que tienen el cargo de "Desarrollador":
SELECT nombre, cargo, salario
FROM empleados
WHERE cargo = 'Desarrollador';
| nombre | cargo | salario |
|---|---|---|
| Ana García | Desarrollador | 3000 |
| Luis Pérez | Desarrollador | 3200 |
Las filas con otros cargos no aparecen en el resultado.
Ejemplo 2: filtrar por comparación numérica
Quieres ver los empleados con salario mayor a 3000:
SELECT nombre, salario
FROM empleados
WHERE salario > 3000;
| nombre | salario |
|---|---|
| Luis Pérez | 3200 |
| María Torres | 4500 |
Funciona igual con <, >=, <= y != (distinto).
Ejemplo 3: filtrar por valor de texto exacto con distinción
Los textos en SQL se escriben entre comillas simples. Si el valor contiene mayúsculas, deben coincidir exactamente:
SELECT nombre
FROM empleados
WHERE nombre = 'Ana García';
Si escribes 'ana garcía' en minúsculas, en muchos sistemas no devuelve nada. SQL distingue mayúsculas y minúsculas en los valores de texto.
Errores frecuentes
Usar comillas dobles en el valor: En SQL estándar, los valores de texto van entre comillas simples 'valor'. Las comillas dobles "valor" se usan para nombres de columnas o tablas, no para valores.
Olvidar que WHERE va después de FROM: El orden es siempre SELECT ... FROM ... WHERE .... Invertirlo genera un error de sintaxis.
Comparar texto con número: Si la columna es de tipo texto, escribe el valor entre comillas aunque parezca un número. Si la columna es numérica, no uses comillas.
Aprende haciendo, no solo leyendo
Leer es el primer paso. El verdadero aprendizaje ocurre cuando practicas con ejercicios reales de SQL y recibes corrección inmediata de IA.
Comenzar gratis →