0
0
SQLquery~20 mins

COALESCE for NULL handling in SQL - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
COALESCE Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
query_result
intermediate
2:00remaining
Output of COALESCE with multiple NULLs
Given the table Employees with columns id, name, and bonus where some bonus values are NULL, what is the output of this query?
SELECT id, COALESCE(bonus, 0) AS bonus_amount FROM Employees ORDER BY id;
SQL
CREATE TABLE Employees (id INT, name VARCHAR(20), bonus INT);
INSERT INTO Employees VALUES (1, 'Alice', NULL), (2, 'Bob', 100), (3, 'Charlie', NULL);
A[{"id":1,"bonus_amount":null},{"id":2,"bonus_amount":100},{"id":3,"bonus_amount":null}]
B[{"id":1,"bonus_amount":0},{"id":2,"bonus_amount":100},{"id":3,"bonus_amount":0}]
C[{"id":1,"bonus_amount":100},{"id":2,"bonus_amount":100},{"id":3,"bonus_amount":100}]
D[{"id":1,"bonus_amount":null},{"id":2,"bonus_amount":null},{"id":3,"bonus_amount":null}]
Attempts:
2 left
💡 Hint
COALESCE returns the first non-NULL value from its arguments.
🧠 Conceptual
intermediate
1:30remaining
Understanding COALESCE with multiple arguments
What will the following SQL expression return?
SELECT COALESCE(NULL, NULL, 'first non-null', 'second non-null');
A'first non-null'
BNULL
C'second non-null'
DSyntax error
Attempts:
2 left
💡 Hint
COALESCE returns the first argument that is not NULL.
📝 Syntax
advanced
1:30remaining
Identify the syntax error in COALESCE usage
Which option contains a syntax error when using COALESCE in SQL?
ASELECT COALESCE(column1, column2, 0) FROM table1;
BSELECT COALESCE(NULL, 5) FROM table1;
CSELECT COALESCE(column1, , 0) FROM table1;
DSELECT COALESCE(column1, 'default') FROM table1;
Attempts:
2 left
💡 Hint
Look for missing arguments or commas in the COALESCE function.
query_result
advanced
2:30remaining
COALESCE with different data types
Consider a table Orders with columns order_id, discount (INT), and coupon_code (VARCHAR). What is the output of this query?
SELECT order_id, COALESCE(CAST(discount AS VARCHAR), coupon_code, 'No discount') AS discount_info FROM Orders ORDER BY order_id;

Given data:
order_id | discount | coupon_code
1        | NULL     | 'SAVE10'
2        | 15       | NULL
3        | NULL     | NULL
A[{"order_id":1,"discount_info":"15"},{"order_id":2,"discount_info":"SAVE10"},{"order_id":3,"discount_info":"No discount"}]
B[{"order_id":1,"discount_info":"No discount"},{"order_id":2,"discount_info":"15"},{"order_id":3,"discount_info":"SAVE10"}]
C[{"order_id":1,"discount_info":null},{"order_id":2,"discount_info":"15"},{"order_id":3,"discount_info":"No discount"}]
D[{"order_id":1,"discount_info":"SAVE10"},{"order_id":2,"discount_info":"15"},{"order_id":3,"discount_info":"No discount"}]
Attempts:
2 left
💡 Hint
COALESCE returns the first non-NULL value, casting discount to string to match coupon_code type.
🔧 Debug
expert
3:00remaining
Why does this COALESCE query return unexpected NULLs?
A developer wrote this query:
SELECT user_id, COALESCE(last_login, 'Never') AS last_login_date FROM Users;

But the output shows NULL for some last_login_date values even though last_login is NULL in those rows. What is the most likely cause?
AThe column last_login is of DATE type, and 'Never' is a string causing type mismatch, so COALESCE returns NULL.
BThe COALESCE function only works with numeric columns, so it fails here.
CThe query is missing a WHERE clause to filter NULLs.
DThe database does not support COALESCE with string literals.
Attempts:
2 left
💡 Hint
Think about data types and how COALESCE returns a value matching the first argument's type.