The ELSE branch
- SQL course
- Intermediate
- Lesson 68/115
- 4 min
Provide a default with ELSE.
ELSE branch
ELSE provides a default result when no WHEN condition matches. Without ELSE, NULL is returned.
SELECT name,
CASE WHEN stock = 0 THEN 'tükendi'
ELSE 'stokta' END AS status
FROM products;This query tags out-of-stock products.
name, CASE WHEN stock = 0 THEN 'tükendi' ELSE 'stokta' END … is selected from products.
ELSE branch — details
Without ELSE, if no WHEN matches, CASE returns NULL. This can lead to unexpected results.
For example, if you leave out ELSE 'stokta', products whose stock status is unknown show up empty in the report.
Practice ELSE branch
Write CASE WHEN stock = 0 THEN 'tükendi' ELSE 'stokta' END to mark out-of-stock items.
Starter code
-- else branch
SELECT name,
CASE WHEN stock = 0 THEN 'tükendi'Sample solution
SELECT name,
CASE WHEN stock = 0 THEN 'tükendi'
ELSE 'stokta' END AS status
FROM products;Expected output
name status Kalem stokta Defter tükenmiş
Questions and answers
Review the lesson questions together with their answers. To test yourself, solve the lesson interactively.
1 What returns if ELSE is missing?
- An error
- An empty string
- NULL Correct answer
- Zero
Explanation: Without ELSE, CASE returns NULL.
2 Add ELSE
CASE WHEN stock = 0 THEN 'tükendi' ____ 'stokta' END
CASE WHEN stock = 0 THEN 'tükendi' ELSE 'stokta' END
Explanation: ELSE gives the value used when no WHEN condition matches.
3 The ELSE branch: match the terms
| Term | Meaning |
|---|---|
ELSE |
default |
WHEN |
condition |
THEN |
result |
NULL |
null |