loading

SQL Case

The SQL CASE Expression

Similar to an if-then-else statement, the CASE expression iterates through conditions and returns a value when the first condition is satisfied. Thus, it will cease reading and return the result if a condition is true. It returns the result from the ELSE clause if none of the requirements are met.

It returns NULL if neither the conditions nor the ELSE portion are true.

CASE Syntax

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

Demo Database

Below 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

SQL CASE Examples

When the first condition is satisfied, the following SQL loops through the conditions and produces a value:

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 clients will be arranged by City using the SQL below. But in the event that City is NULL, sort by Country:

Example

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

SQL Case

Or copy link

Explore Topic