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