CASE Expressions
The CASE
expression lets you add conditional logic to your SQL queries.
It's like using if
or switch
statements in programming. You can return different values depending on conditions.
Syntax
You can use CASE
to add conditional logic to your SQL queries.
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END
You can use CASE
inside SELECT
, ORDER BY
, WHERE
, and even inside window functions.
Example: Course Progress Status
Let's use the CodeFriends dataset to categorize users based on how far they've progressed in a course.
course_progress
user_id | course_name | progress_percent |
---|---|---|
1 | SQL Basics | 100 |
2 | SQL Basics | 85 |
3 | SQL Basics | 70 |
4 | SQL Basics | 55 |
5 | SQL Basics | 30 |
We can use CASE
to assign each user a label:
SELECT user_id, course_name, progress_percent, CASE WHEN progress_percent = 100 THEN 'Completed' WHEN progress_percent >= 75 THEN 'Almost done' WHEN progress_percent >= 50 THEN 'Halfway' ELSE 'Just started' END AS completion_status FROM course_progress;
Result:
user_id | course_name | progress_percent | completion_status |
---|---|---|---|
1 | SQL Basics | 100 | Completed |
2 | SQL Basics | 85 | Almost done |
3 | SQL Basics | 70 | Halfway |
4 | SQL Basics | 55 | Halfway |
5 | SQL Basics | 30 | Just started |
How to use CASE
With CASE
, you can categorize or label data based on rules, replace values conditionally, and add logic directly into your queries without writing extra code.
It's especially useful in reporting, dashboards, and analysis tasks.
How can you use CASE expressions to add conditional logic to SQL queries?
Lecture
AI Tutor
Design
Upload
Notes
Favorites
Help
Code Editor
Tables
Execution Result