SQL CASE Expression

Here is a simple, useful, and complete guide to the SQL CASE Expression. This is one of the best tools for conditional logic in SQL queries.
What the SQL CASE Expression Does
CASE lets you apply IF / ELSE style logic inside SQL.
It returns a value based on conditions and is often used in:
SELECT lists
ORDER BY
GROUP BY
UPDATE statements
Aggregations
Basic Syntax (Simple CASE)
Compares one expression to different values:
Searched CASE (most common)
Checks Boolean conditions:
Practical Examples
1. Categorize numeric values
2. Replace NULL values
(Similar to COALESCE, but more flexible.)
3. Conditional aggregation
Count only active users:
4. Use CASE in ORDER BY
Sort VIP users first:
5. Conditional UPDATE
6. Dynamic grouping / bucketing
Important Notes
CASEreturns the first matching condition, then stops- All results must be compatible data types
ELSEis optional — default isNULLWorks the same in PostgreSQL, MySQL, SQL Server, Oracle
Performance Tips
- Keep CASE expressions simple for readability
- Put most-likely conditions first for performance
- Use indexes on columns inside CASE conditions when possible
- For complex logic, consider creating computed columns or views
