Docs
Docs/Filtering & Sorting/Comparison Operators

Comparison Operators

Compare values in WHERE conditions

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