SQL REFERENCE
Filtering with WHERE
Filter rows using comparisons, boolean logic, ranges, pattern matching, and NULL checks.
Comparison Operators
| Operator | Description |
|---|---|
= | Equal |
!= / <> | Not equal |
< | Less than |
<= | Less than or equal |
> | Greater than |
>= | Greater than or equal |
SELECT * FROM data WHERE id > 3;
SELECT * FROM data WHERE val = 20.0;
SELECT * FROM data WHERE name = 'carol';
Boolean Logic (AND, OR, NOT)
SELECT id FROM data WHERE id > 2 AND id < 5;
SELECT id FROM data WHERE id = 1 OR id = 5;
SELECT id FROM data WHERE NOT (id > 3);
SELECT id FROM data WHERE (cat = 'a' AND val > 20.0) OR cat = 'c';
BETWEEN
SELECT id FROM data WHERE id BETWEEN 2 AND 4;
SELECT id FROM data WHERE id NOT BETWEEN 2 AND 4;
SELECT id FROM data WHERE val BETWEEN 20.0 AND 40.0;
IN
SELECT id FROM data WHERE id IN (1, 3, 5);
SELECT id FROM data WHERE id NOT IN (1, 3, 5);
SELECT name FROM data WHERE cat IN ('a', 'c');
LIKE and ILIKE
-- Case-sensitive pattern matching
SELECT name FROM data WHERE name LIKE 'a%'; -- starts with 'a'
SELECT name FROM data WHERE name LIKE '%e'; -- ends with 'e'
SELECT name FROM data WHERE name LIKE '%o%'; -- contains 'o'
-- Case-insensitive
SELECT s FROM mixed WHERE s ILIKE 'a%';
SELECT s FROM mixed WHERE s ILIKE '%an%';
IS NULL / IS NOT NULL
SELECT * FROM t WHERE val IS NULL;
SELECT * FROM t WHERE val IS NOT NULL;
WHERE with Expressions
SELECT id FROM data WHERE id + 1 > 4;
SELECT id FROM data WHERE val * 2.0 > 60.0;
SELECT id FROM data WHERE ABS(val - 30.5) < 1.0;