Comparison Operators
| Operator | Meaning |
|---|---|
= | Equal |
!= | Not equal |
> | Greater than |
>= | Greater than or equal |
< | Less than |
<= | Less than or equal |
Logical Operators
AND
| Database | Output |
|---|---|
| PostgreSQL | SELECT * FROM users WHERE age > 21 AND status = 'active' |
| MongoDB | db.users.find({ age: { $gt: 21 }, status: 'active' }) |
OR
| Database | Output |
|---|---|
| PostgreSQL | SELECT * FROM users WHERE role = 'admin' OR role = 'moderator' |
| MongoDB | db.users.find({ $or: [{ role: 'admin' }, { role: 'moderator' }] }) |
Combined with Parentheses
IN Operator
Match against a list of values.| Database | Output |
|---|---|
| PostgreSQL | SELECT * FROM users WHERE role IN ('admin', 'moderator', 'editor') |
| MongoDB | db.users.find({ role: { $in: ['admin', 'moderator', 'editor'] } }) |
NOT IN
BETWEEN Operator
Match a range of values.| Database | Output |
|---|---|
| PostgreSQL | SELECT * FROM users WHERE age BETWEEN 18 AND 65 |
| MongoDB | db.users.find({ age: { $gte: 18, $lte: 65 } }) |
Date Range
NOT BETWEEN
LIKE Operator
Pattern matching for strings.| Pattern | Meaning |
|---|---|
John% | Starts with “John” |
%@gmail.com | Ends with “@gmail.com” |
%smith% | Contains “smith” |
| Database | Output |
|---|---|
| PostgreSQL | SELECT * FROM users WHERE name LIKE 'John%' |
| MongoDB | db.users.find({ name: { $regex: '^John' } }) |
NOT LIKE
ILIKE (Case Insensitive)
| Database | Output |
|---|---|
| PostgreSQL | SELECT * FROM users WHERE name ILIKE 'john%' |
| MySQL | SELECT * FROM users WHERE LOWER(name) LIKE 'john%' |
NULL Checks
| Database | Output |
|---|---|
| PostgreSQL | SELECT * FROM users WHERE deleted_at IS NULL |
| MongoDB | db.users.find({ deleted_at: null }) |

