Curriculum
Course: SQL
Login

Curriculum

SQL

SQL References

0/80

MySQL Functions

0/139

SQL Server Functions

0/84

SQL Quick Ref

0/1
Text lesson

SQL CASE

The SQL CASE Expression

The CASE expression evaluates conditions sequentially and returns a value once the first condition is met, akin to an if-then-else statement. If none of the conditions are true, it returns the value specified in the ELSE clause.

In the absence of an ELSE clause, and if no conditions are met, it returns NULL.

CASE Syntax

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END

Demo Database

Here is an excerpt from the “OrderDetails” table within the Northwind sample database:

OrderDetailID

OrderID

ProductID

Quantity

1

10248

11

12

2

10248

42

10

3

10248

72

5

4

10249

14

9

5

10249

51

40

SQL CASE Examples

The following SQL statement evaluates conditions sequentially and returns a value when the first condition is met.

Example

SELECT OrderID, Quantity,
CASE
    WHEN Quantity > 30 THEN ‘The quantity is greater than 30’
    WHEN Quantity = 30 THEN ‘The quantity is 30’
    ELSE ‘The quantity is under 30’
END AS QuantityText
FROM OrderDetails; 

This SQL statement will arrange the customers by City. In case the City is NULL, it will sort by Country instead.

Example

SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);