Lecture

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 syntax
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_idcourse_nameprogress_percent
1SQL Basics100
2SQL Basics85
3SQL Basics70
4SQL Basics55
5SQL Basics30

We can use CASE to assign each user a label:

Assigning Course Completion Status
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_idcourse_nameprogress_percentcompletion_status
1SQL Basics100Completed
2SQL Basics85Almost done
3SQL Basics70Halfway
4SQL Basics55Halfway
5SQL Basics30Just 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.

Quiz
0 / 1

How can you use CASE expressions to add conditional logic to SQL queries?

In a SQL query, the CASE expression allows you to return different values based on .
column names
conditions
data types
table names

Lecture

AI Tutor

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Tables

Execution Result