Publicidad

Índices en MySQL y el uso de LIKE: guía completa

Imagen
 Índices en MySQL y el uso de LIKE: guía completa Los índices en MySQL son una de las claves más importantes para mejorar el rendimiento de las consultas SQL. Sin embargo, no siempre se usan correctamente, especialmente cuando entran en juego operadores como LIKE , BETWEEN o consultas con varias condiciones. En esta guía completa aprenderás qué son los índices , cuándo se usan , cómo afectan los LIKE al rendimiento , cómo interpretarlos con EXPLAIN y cómo saber si un índice es único . Todo explicado de forma clara, sencilla y orientada a exámenes DAM/ASIR y a la práctica real. ¿Qué es un índice en MySQL? Un índice es una estructura que permite a MySQL encontrar datos más rápido , evitando recorrer toda la tabla fila por fila. Es muy parecido al índice de un libro: no lees todo, vas directamente a la página que te interesa. Sin índices: MySQL hace un escaneo completo de la tabla ( ALL ) Consultas lentas en tablas grandes Con índices: Acceso rápido a los datos Menor número de fil...
Publicidad

Cómo Filtrar Pedidos Fuera de un Rango de Importe en SQL (MySQL)

Cómo Filtrar Pedidos Fuera de un Rango de Importe en SQL (MySQL)

En bases de datos MySQL, a menudo necesitamos filtrar registros según un rango de valores, especialmente cuando trabajamos con importes de pedidos en una tienda online.
En esta guía aprenderás cómo mostrar los clientes cuyos pedidos no están entre 120 y 540 euros, utilizando INNER JOIN y NOT BETWEEN.
Una consulta sencilla pero muy útil para detectar compras atípicas o generar informes financieros precisos.


🎯 ¿Para qué sirve este tipo de consulta?

Filtrar pedidos fuera de un rango de importe puede ayudarte a:

  • Detectar pedidos demasiado bajos o altos.

  • Analizar clientes con comportamientos de compra inusuales.

  • Preparar reportes de ventas o análisis financieros detallados.

  • Identificar oportunidades de fidelización o de revisión de precios.


🧩 Paso 1: Seleccionar la base de datos

Antes de ejecutar cualquier consulta, asegúrate de estar en la base de datos correcta:

USE tiendaonline;

Esto garantiza que las operaciones afecten a las tablas adecuadas.


📋 Paso 2: Consultar las tablas involucradas

Antes de unir datos, conviene conocer su estructura.
Por ejemplo:

-- Consultar todos los pedidos SELECT * FROM pedidos; -- Consultar todos los clientes SELECT * FROM clientes;

Así puedes verificar que las columnas id_cliente, nombre y total existen y tienen los tipos de datos correctos.


🔗 Paso 3: Unir las tablas clientes y pedidos

Para relacionar los pedidos con los clientes que los realizaron, utilizamos 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 une las filas que coinciden en id_cliente.

  • c.nombre muestra el nombre del cliente.

  • p.total muestra el importe del pedido.

Con esta combinación, puedes ver quién hizo cada pedido y cuánto gastó.


💰 Paso 4: Filtrar pedidos fuera del rango de 120 a 540 euros

Ahora aplicamos el filtro usando 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;

🔍 ¿Qué hace esta consulta?

  • NOT BETWEEN 120.00 AND 540.00 excluye todos los pedidos dentro del rango 120–540.

  • Muestra solo los pedidos menores de 120 o mayores de 540 euros.

  • Devuelve los clientes que cumplen esa condición.


Paso 5: Ejemplo práctico

Supongamos que la tabla pedidos tiene los siguientes valores:

id_clientetotal
1100.00
2200.00
3600.00

Resultado de la consulta:

nombretotal
Juan100.00
María600.00

El pedido de 200 € queda fuera porque está dentro del rango de 120 a 540.


Paso 6: Optimización y buenas prácticas

Usa alias cortos: Facilitan la lectura (p para pedidos, c para clientes).
Verifica tipos de datos: La columna total debe ser numérica (DECIMAL o FLOAT).
Combina filtros: Puedes añadir condiciones extra, como fechas:

WHERE p.total NOT BETWEEN 120.00 AND 540.00 AND p.fecha >= '2025-01-01';

Ordena los resultados: Para ver primero los pedidos más altos:

ORDER BY p.total DESC;

Consulta completa optimizada:

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;

 Conclusión

Filtrar pedidos fuera de un rango de importe en MySQL es una tarea simple pero muy poderosa.
Combinando INNER JOIN y NOT BETWEEN, puedes:

  • Detectar comportamientos de compra atípicos.

  • Identificar clientes con pedidos fuera de lo normal.

  • Generar reportes precisos y útiles para tu negocio.

Estas consultas son esenciales para el análisis de datos, reportes de ventas y la gestión eficiente de tiendas online.

Consulta SQL para filtrar pedidos


Consulta SQL para filtrar pedidos


 FAQ: Preguntas Frecuentes

¿Qué diferencia hay entre BETWEEN y NOT BETWEEN?
BETWEEN incluye los valores dentro del rango, mientras que NOT BETWEEN los excluye, mostrando solo los que están fuera.


¿Puedo usar NOT BETWEEN con fechas?
Sí, funciona igual. Por ejemplo:

WHERE fecha NOT BETWEEN '2025-01-01' AND '2025-12-31';

¿Qué pasa si hay valores nulos en total?
Los registros con NULL no se muestran, porque NOT BETWEEN no evalúa NULL.
Puedes añadir OR p.total IS NULL para incluirlos.


¿Se puede combinar con GROUP BY?
Sí. Por ejemplo, para contar cuántos pedidos fuera de rango tiene cada cliente:

SELECT c.nombre, COUNT(*) AS cantidad FROM pedidos AS p INNER JOIN clientes AS c ON p.id_cliente = c.id_cliente WHERE p.total NOT BETWEEN 120 AND 540 GROUP BY c.nombre;

¿Cómo mejorar el rendimiento?
Asegúrate de que id_cliente y total estén indexados y usa tipos de datos adecuados (DECIMAL(10,2) para importes).


Comentarios

Publicidad
Publicidad

¿Qué aprenderás en Bit Área de informática para profesionales?

¡Bienvenid@ a Bit Área de Informática! Tu espacio de referencia para aprender, optimizar y dominar la tecnología. Nos especializamos en guías detalladas y actualizadas sobre Windows, Linux y Android, junto con trucos, consejos y soluciones técnicas pensadas para profesionales y entusiastas de la informática. Nos apasiona mantenerte al día de las últimas tendencias en aplicaciones. Analizamos innovaciones, desglosamos funciones, compartimos recomendaciones y ofrecemos información detallada para que siempre estés a la vanguardia del mundo digital. Desde apps esenciales para productividad hasta las más divertidas para entretenimiento, te ayudamos a descubrir lo último en tecnología y sacarle el máximo provecho.
Junto a nosotros, aprenderás a reparar, optimizar y gestionar tus sistemas y dispositivos, así como a liberar espacio, solucionar problemas comunes y simplificar tu vida diaria. En Bit Área de Informática, transformamos el conocimiento en resultados: explora, aprende y domina la tecnología mientras te mantienes a la vanguardia del futuro digital. ¡Forma parte de nuestra comunidad!
Publicidad