0
0
SQLquery~20 mins

Simple CASE syntax in SQL - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Simple CASE Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
query_result
intermediate
2:00remaining
Output of Simple CASE with numeric grades
Given the table Grades with a column score containing numeric values, what is the output of this query?
SELECT score, CASE score WHEN 90 THEN 'A' WHEN 80 THEN 'B' ELSE 'F' END AS grade FROM Grades;
SQL
CREATE TABLE Grades(score INT);
INSERT INTO Grades VALUES (90), (80), (70);
A[{"score":90,"grade":"A"},{"score":80,"grade":"B"},{"score":70,"grade":"F"}]
B[{"score":90,"grade":"A"},{"score":80,"grade":"F"},{"score":70,"grade":"F"}]
C[{"score":90,"grade":"F"},{"score":80,"grade":"B"},{"score":70,"grade":"F"}]
D[{"score":90,"grade":"A"},{"score":80,"grade":"B"},{"score":70,"grade":"B"}]
Attempts:
2 left
💡 Hint
Simple CASE compares the expression to each WHEN value exactly.
🧠 Conceptual
intermediate
1:30remaining
Understanding Simple CASE vs Searched CASE
Which statement correctly describes the difference between Simple CASE and Searched CASE expressions in SQL?
ASimple CASE requires ELSE clause; Searched CASE does not.
BSimple CASE evaluates multiple conditions independently; Searched CASE compares one expression to multiple values.
CSimple CASE can only be used with numeric values; Searched CASE only with strings.
DSimple CASE compares one expression to multiple values; Searched CASE evaluates multiple conditions independently.
Attempts:
2 left
💡 Hint
Think about how the CASE expression compares or evaluates conditions.
📝 Syntax
advanced
2:00remaining
Identify the syntax error in this Simple CASE query
Which option contains a syntax error in the Simple CASE expression?
SQL
SELECT id, CASE WHEN status = 'active' THEN 'A' WHEN status = 'inactive' THEN 'I' ELSE 'U' END AS state FROM Users;
ASELECT id, CASE status WHEN 'active' THEN 'A' WHEN 'inactive' THEN 'I' ELSE 'U' END AS state FROM Users;
BSELECT id, CASE status WHEN 'active' THEN 'A' WHEN 'inactive' THEN 'I' ELSE 'U' END state FROM Users;
C;sresU MORF etats SA DNE 'U' ESLE 'I' NEHT 'evitcani' NEHW 'A' NEHT 'evitca' NEHW sutats ESAC ,di TCELES
DELECT id, CASE status WHEN 'active' THEN 'A' WHEN 'inactive' THEN 'I' ELSE 'U' END AS state FROM Users;
Attempts:
2 left
💡 Hint
Check the FROM clause syntax carefully.
optimization
advanced
2:30remaining
Optimizing Simple CASE for performance
You have a large table with a column category containing values 'A', 'B', 'C', or others. Which Simple CASE query is most efficient to categorize rows as 'Group1' for 'A' and 'B', 'Group2' for 'C', and 'Other' otherwise?
ASELECT category, CASE WHEN category IN ('A','B') THEN 'Group1' WHEN category = 'C' THEN 'Group2' ELSE 'Other' END AS group_name FROM table;
BSELECT category, CASE category WHEN 'A' THEN 'Group1' WHEN 'B' THEN 'Group1' WHEN 'C' THEN 'Group2' ELSE 'Other' END AS group_name FROM table;
CSELECT category, CASE category WHEN 'A' THEN 'Group1' WHEN 'C' THEN 'Group2' ELSE 'Other' END AS group_name FROM table;
DSELECT category, CASE category WHEN 'A' THEN 'Group1' WHEN 'B' THEN 'Group2' WHEN 'C' THEN 'Group2' ELSE 'Other' END AS group_name FROM table;
Attempts:
2 left
💡 Hint
Simple CASE compares one expression to values; using multiple WHENs for same output is valid.
🔧 Debug
expert
3:00remaining
Debugging unexpected output in Simple CASE
Given this query:
SELECT id, CASE status WHEN 'active' THEN 'Active' WHEN 'inactive' THEN 'Inactive' ELSE 'Unknown' END AS state FROM Users;

Why might rows with status = NULL show 'Unknown' instead of NULL?
ABecause NULL is treated as a string 'NULL' in Simple CASE, matching ELSE.
BBecause NULL values are automatically converted to 'Unknown' by the database engine.
CBecause Simple CASE compares using equality, NULL never matches any WHEN value, so ELSE applies.
DBecause the query syntax is invalid and defaults to ELSE.
Attempts:
2 left
💡 Hint
Think about how NULL behaves in comparisons.