SQL Practice Logo

SQLPractice Online

Range & Interval Filtering: Mistakes

Module: Advanced Filtering

SELECT * FROM orders WHERE DATE(order_date) = '2024-01-15';

SELECT * FROM orders WHERE order_date >= '2024-01-15' AND order_date < '2024-01-16';

DATE() function prevents index usage. Use range comparison for better performance.

Avoid functions on indexed columns in WHERE clause

High

Function on indexed column prevents index usage

SELECT * FROM products WHERE price BETWEEN 100 AND 10;

SELECT * FROM products WHERE price BETWEEN 10 AND 100;

BETWEEN expects lower value first. Reversed order returns no results.

Always put lower bound first in BETWEEN

High

BETWEEN requires lower bound first