CodeBlanks Logo Icon CodeBlanks

The ELSE branch

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

query.sql
-- else branch
SELECT name,
  CASE WHEN stock = 0 THEN 'tükendi'

Sample solution

query.sql
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

Question
CASE WHEN stock = 0 THEN 'tükendi' ____ 'stokta' END
Answer
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

All lessons in Intermediate