How do you use CASE expressions in PostgreSQL?

Answer

CASE provides conditional logic in SQL queries. Searched CASE: CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE default_result END. Example: SELECT name, CASE WHEN score >= 90 THEN 'A' WHEN score >= 80 THEN 'B' ELSE 'C' END AS grade FROM students;. Simple CASE: CASE column WHEN value1 THEN result1 WHEN value2 THEN result2 ELSE default END. Use in ORDER BY: ORDER BY CASE status WHEN 'urgent' THEN 1 WHEN 'normal' THEN 2 ELSE 3 END. Use in aggregates: SUM(CASE WHEN status = 'paid' THEN amount ELSE 0 END). CASE always returns a single value and can be used anywhere an expression is valid.