Docs
Docs/Filtering & Sorting/Comparison Operators

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';

Need help?

Join our Discord community for support and discussions.

Join Discord