CodeGym /Cursos /SQL SELF /Filtrado de datos usando operadores de comparación (=, &g...

Filtrado de datos usando operadores de comparación (=, >, <, <>)

SQL SELF
Nivel 2 , Lección 1
Disponible

Bueno, ya sabemos cómo usar el comando SELECT. Al menos, ya aprendimos a sacar datos de la base, elegir las columnas que queremos y crear consultas que empiezan a convertir datos crudos en información útil. Es hora de añadir un poco de "filtros" a nuestra paleta mágica. Sí, hoy vamos a hablar del filtrado de datos usando operadores de comparación como =, >, < y <>.

Cuando trabajas con tablas grandes, probablemente no necesitas ver absolutamente todos los datos (a menos que quieras sumergirte en el caos). Para seleccionar solo las filas que te interesan, en SQL se usa la palabra clave WHERE. Esto te permite poner condiciones que cada fila debe cumplir para aparecer en los resultados de la consulta. Y para estas condiciones usamos operadores de comparación.

Sintaxis de filtrado con WHERE

SELECT columna1, columna2
FROM tabla
WHERE condición;

Estructura sencilla: añadimos la palabra WHERE después de indicar la tabla con FROM y escribimos la condición concreta que deben cumplir las filas.

Por ejemplo, vamos a sacar datos de la tabla students:

SELECT name, age
FROM students
WHERE age > 18;

Esta consulta selecciona solo a los estudiantes (nombre y edad) que tienen más de 18 años. Fácil, ¿no? Ahora vamos a sumergirnos en el mundo de los operadores de comparación.

Operadores de comparación principales

En SQL hay varios operadores de comparación que te ayudan a filtrar los datos como quieras. Seguro que los conoces de matemáticas, pero hay que aclarar un poco cómo funcionan aquí. Aquí tienes la lista de los más usados:

  1. = — Igual.
  2. <> — Distinto (alternativa: != en algunas BBDD, pero mejor usa <> porque es el estándar SQL).
  3. > — Mayor que.
  4. < — Menor que.
  5. >= — Mayor o igual que.
  6. <= — Menor o igual que.

Tabla de operadores de comparación

Operador Significado Ejemplo Resultado
= Igual age = 20 Devuelve filas donde la edad es 20
<> Distinto age <> 20 Devuelve filas donde la edad no es 20
> Mayor que age > 18 Devuelve filas donde la edad es mayor que 18
< Menor que age < 18 Devuelve filas donde la edad es menor que 18
>= Mayor o igual que age >= 18 Devuelve filas donde la edad es 18 o más
<= Menor o igual que age <= 18 Devuelve filas donde la edad es 18 o menos

Ejemplos de uso de operadores de comparación

Ejemplo 1: Seleccionar estudiantes mayores de 20 años

Aquí está nuestra tabla:

id name age
1 Alex Lin 22
2 Anna Song 19
3 Otto Art 21
SELECT name, age
FROM students
WHERE age > 20;

Aquí ponemos la condición age > 20 para seleccionar solo los estudiantes cuya edad es mayor que 20. Si hay un estudiante con 19 años, pues no sale en los resultados.

En nuestro caso, el resultado será:

name age
Alex Lin 22
Otto Art 21

La estudiante Anna Song no aparece porque solo tiene 19.

Ejemplo 2: Seleccionar empleados con salario de al menos 50 000

Aquí está nuestra tabla employees:

first_name last_name salary
Julia Kim 48000
Marcus Lee 52000
Anya Patel 50000
Ethan Zhou 61000

Y aquí está nuestra consulta SQL:

SELECT first_name, last_name, salary
FROM employees
WHERE salary >= 50000;

Esta consulta devuelve todos los empleados cuyo salario es igual a 50 000 o mayor que esa cantidad. ¡El igual también cuenta!

first_name last_name salary
Marcus Lee 52000
Anya Patel 50000
Ethan Zhou 61000

Ejemplo 3: Seleccionar productos con precio menor de 100

product_name price
USB Cable 85
Wireless Mouse 150
Notebook 60
Mechanical Pencil 45
SELECT product_name, price
FROM products
WHERE price < 100;

Si tienes una tienda online, con esta consulta puedes sacar todos los productos que cuestan menos de 100 (por ejemplo, para una promo de "¡Todo a 99!").

product_name price
USB Cable 85
Notebook 60
Mechanical Pencil 45

Ejemplo 4: Excluir usuarios con un id concreto

SELECT id, username
FROM users
WHERE id <> 1;

Esta consulta selecciona todos los usuarios menos el que tiene id igual a 1. El operador <> dice "dame todos los que no sean este valor".

Tabla users:

id username
1 admin
2 elena.gray
3 tom.bishop
4 aria.noble

Resultado de la consulta:

id username
2 elena.gray
3 tom.bishop
4 aria.noble

Errores típicos al filtrar con operadores de comparación

Cuando empiezas a escribir consultas con filtros, es normal cometer errores. Aquí tienes un par de casos comunes que vale la pena recordar:

Problema 1: Error en el nombre de las columnas

Si escribes mal el nombre de una columna en la consulta, PostgreSQL te dará un error. Por ejemplo:

SELECT name, age
FROM students
WHERE ages > 18; -- Error: la columna "ages" no existe

Revisa siempre los nombres exactos de las columnas antes de escribir la consulta.

Problema 2: Uso incorrecto del operador de comparación

A veces, los que empiezan pueden confundir los operadores. Por ejemplo:

SELECT name, age
FROM students
WHERE age => 18; -- Error: operador incorrecto

La sintaxis correcta es >=, no =>.

Problema 3: Filtrar por valores que no existen

Si intentas filtrar filas por un valor que no está en la tabla, la consulta se ejecuta pero devuelve un resultado vacío. Por ejemplo:

SELECT name
FROM students
WHERE age = 999; -- Resultado: 0 filas

No es un error de sintaxis, pero puede confundirte si esperas ver datos.

Aplicación práctica

El filtrado de datos con operadores de comparación se usa en un montón de situaciones:

  • Análisis de datos: por ejemplo, para seleccionar todos los clientes que gastaron más de 10 000 rupias.
  • Informes: seleccionar empleados con salario superior a la media.
  • Monitorización: seguir a los usuarios que no han estado activos en el último mes.

SQL te permite sacar rápido los datos que necesitas de tablas enormes, y los operadores de comparación son el primer paso en ese camino.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION