What is the CASE expression in SQL?

Answer

The CASE expression provides conditional logic in SQL queries, similar to if-else statements in programming. Two forms: Simple CASE: CASE column WHEN value1 THEN result1 WHEN value2 THEN result2 ELSE default_result END. Searched CASE: CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE default_result END — more flexible, allows different conditions each branch. Examples: (1) Label salary ranges: SELECT name, salary, CASE WHEN salary < 30000 THEN "Junior" WHEN salary < 60000 THEN "Mid" ELSE "Senior" END AS level FROM employees;; (2) Conditional aggregation: SELECT SUM(CASE WHEN status = "completed" THEN amount ELSE 0 END) AS completed_revenue FROM orders; — pivot-like aggregation; (3) Handle NULLs: CASE WHEN phone IS NULL THEN "Not provided" ELSE phone END. CASE can be used in SELECT, WHERE, ORDER BY, GROUP BY, and HAVING. The ELSE clause is optional — without it, unmatched conditions return NULL. Functions COALESCE, NULLIF, and IF/IFNULL are shorthand for common CASE patterns.