Curriculum
Course: MYSQL
Login

Curriculum

MYSQL

MySQL References

0/140
Text lesson

MySQL CASE

The MySQL CASE Statement

The CASE statement in MySQL evaluates conditions sequentially and returns a value when the first condition is met, similar to an if-then-else statement. Once a condition is satisfied, it stops further evaluation and returns the corresponding result. If none of the conditions are true, it returns the value specified in the ELSE clause.

If no conditions are true and there is no ELSE part specified, the CASE statement in MySQL returns NULL.

CASE Syntax

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

Demo Database

Here is a selection from the “OrderDetails” table in 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

MySQL CASE Examples

The following SQL statement evaluates conditions 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;

The following SQL statement orders customers by City. If City values are NULL, it then orders by Country.

Example

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