SQL comparison operators in WHERE conditions
Compare values with equals, not equals, greater than and less than when filtering rows in SQL.
Comparison operators determine how values are compared in WHERE clauses.
Equality & Inequality
-- Equal to SELECT * FROM users WHERE role = 'admin'; -- Not equal to (two ways) SELECT * FROM users WHERE role != 'admin'; SELECT * FROM users WHERE role <> 'admin';
Range Comparisons
-- Greater than / Less than SELECT * FROM products WHERE price > 50; SELECT * FROM products WHERE price < 100; -- Greater/less than or equal SELECT * FROM products WHERE price >= 50; SELECT * FROM products WHERE stock <= 10; -- Combining for ranges SELECT * FROM products WHERE price >= 50 AND price <= 100;
String Comparison
-- Strings are compared alphabetically SELECT * FROM products WHERE name < 'M'; -- A-L SELECT * FROM products WHERE name >= 'M'; -- M-Z -- Case sensitivity varies by database -- PostgreSQL: case-sensitive by default -- MySQL: case-insensitive by default (depends on collation) -- SQLite: case-sensitive for ASCII
Date Comparison
-- Compare dates
SELECT * FROM orders
WHERE created_at >= '2024-01-01'
AND created_at < '2024-02-01';
-- Orders from last 7 days (SQLite)
SELECT * FROM orders
WHERE created_at >= date('now', '-7 days');
-- Orders from last 7 days (PostgreSQL)
SELECT * FROM orders
WHERE created_at >= NOW() - INTERVAL '7 days';