Cómo crear un USB booteable de Linux Mint 20.1 paso a paso

Si trabajas con bases de datos en MySQL, es común necesitar filtrar registros según rangos de valores, como los importes de pedidos en una tienda online. En esta guía práctica, te mostraremos cómo mostrar los clientes cuyos pedidos no se encuentran entre 120 y 540 euros, utilizando INNER JOIN y NOT BETWEEN para unir tablas y aplicar filtros.
Este tipo de consulta es muy útil para:
Detectar pedidos pequeños o excesivamente grandes.
Analizar clientes que realizan compras fuera de un rango promedio.
Preparar reportes financieros o estadísticas de ventas.
Antes de ejecutar cualquier consulta, asegúrate de estar trabajando en la base de datos correcta:
USE tiendaonline;
Esto garantiza que todas las consultas siguientes se ejecuten en la base de datos adecuada.
Es importante conocer la estructura de las tablas antes de combinarlas. Por ejemplo, tenemos:
-- Consultar todos los pedidos
SELECT * FROM pedidos;
-- Consultar todos los clientes
SELECT * FROM clientes;
Estas consultas nos permiten ver las columnas disponibles, como id_cliente
, nombre
, total
, fecha
, etc., y preparar la relación entre ellas.
Para relacionar cada pedido con el cliente que lo realizó, usamos INNER JOIN:
SELECT c.nombre, p.total
FROM pedidos AS p
INNER JOIN clientes AS c ON p.id_cliente = c.id_cliente;
Explicación:
INNER JOIN
combina filas de ambas tablas solo cuando existe coincidencia en id_cliente
.
c.nombre
muestra el nombre del cliente.
p.total
muestra el importe del pedido.
Esto nos permite tener una vista completa de quién realizó cada pedido y cuánto gastó.
Para identificar pedidos que no se encuentran dentro de un rango determinado, utilizamos la cláusula NOT BETWEEN:
SELECT c.nombre, p.total
FROM pedidos AS p
INNER JOIN clientes AS c ON p.id_cliente = c.id_cliente
WHERE p.total NOT BETWEEN 120.00 AND 540.00;
Cómo funciona esta consulta:
NOT BETWEEN 120.00 AND 540.00
excluye todos los pedidos cuyo total esté dentro del rango de 120 a 540 euros.
Incluye automáticamente los pedidos menores a 120 y mayores a 540 euros.
Devuelve únicamente los clientes que cumplen esta condición.
Supongamos que tenemos los siguientes pedidos:
id_cliente | total |
---|---|
1 | 100.00 |
2 | 200.00 |
3 | 600.00 |
Después de aplicar la consulta, obtendremos:
nombre | total |
---|---|
Juan | 100.00 |
María | 600.00 |
Los pedidos de 200 euros no aparecen porque están dentro del rango excluido (120-540).
Usar alias: Facilita la lectura (p
para pedidos y c
para clientes).
Comprobar tipos de datos: Asegúrate de que la columna total
sea numérica (DECIMAL o FLOAT) para evitar errores con BETWEEN.
Filtrar por fechas si es necesario: Puedes combinar con AND p.fecha >= '2025-01-01'
para limitar los resultados a un período específico.
Ordenar resultados: Agrega ORDER BY p.total DESC
para ver primero los pedidos más altos.
SELECT c.nombre, p.total
FROM pedidos AS p
INNER JOIN clientes AS c ON p.id_cliente = c.id_cliente
WHERE p.total NOT BETWEEN 120.00 AND 540.00
ORDER BY p.total DESC;
Filtrar pedidos fuera de un rango de importe en MySQL es sencillo pero poderoso. Con INNER JOIN y NOT BETWEEN, puedes:
Obtener información valiosa sobre tus clientes.
Detectar patrones de compra fuera de lo normal.
Preparar reportes financieros claros y precisos.
Este tipo de consultas son fundamentales en análisis de datos, reportes de ventas y gestión de negocios online.
![]() |
Comentarios
Publicar un comentario