CASE — SQL Technical Interview Questions & Answers
CASE
CASE
- CASE WHEN marks >= 60 THEN 'A' WHEN marks >= 40 THEN 'B' ELSE 'F' END as a column. Simple CASE: CASE grade WHEN 'A' THEN 5 ELSE 0 END. END is required. Works in SELECT, ORDER BY, sometimes UPDATE SET.
- More readable than nested IF(). Always ELSE so NULL doesn’t sneak in.
- Trap: forgetting END. Trap: overlapping WHEN without noticing order (first match wins).
- On the example next to this theory: CASE: create two demo rows, then SELECT qty >= 2 ordered. Say which labels come back.
Technical Interview Tip: CASE WHEN marks >= 40 THEN 'Pass' ELSE 'Fail' END
Code Examples for CASE
CASE — sample query
-- CASE
CREATE TABLE demo (
id INTEGER PRIMARY KEY,
label TEXT NOT NULL,
qty INTEGER DEFAULT 0
);
INSERT INTO demo (id, label, qty) VALUES
(1, 'alpha', 2),
(2, 'beta', 5);
SELECT label, qty FROM demo WHERE qty >= 2 ORDER BY qty DESC;CASE: create two demo rows, then SELECT qty >= 2 ordered. Say which labels come back.
How to Explain CASE to an Interviewer
Why CASE over nested IF?
Readable branches Must END