COALESCE returns the first non-NULL value from a list of expressions. If all values are NULL, it returns NULL.
Click to reveal answer
beginner
How does COALESCE help with NULL values in SQL queries?
It allows you to replace NULL values with a default or alternative value, making results easier to read and process.
Click to reveal answer
beginner
Example: What is the result of COALESCE(NULL, NULL, 'apple', 'banana')?
The result is 'apple' because it is the first non-NULL value in the list.
Click to reveal answer
beginner
Can COALESCE take more than two arguments?
Yes, COALESCE can take two or more arguments and returns the first non-NULL among them.
Click to reveal answer
intermediate
How is COALESCE different from ISNULL or NVL?
COALESCE is standard SQL and can take multiple arguments, while ISNULL (SQL Server) and NVL (Oracle) usually take two arguments and are vendor-specific.
Click to reveal answer
What will COALESCE(NULL, 'Hello', 'World') return?
A'Hello'
B'World'
CNULL
DError
✗ Incorrect
COALESCE returns the first non-NULL value, which is 'Hello'.
If all arguments in COALESCE are NULL, what is the result?
AEmpty string
BNULL
C0
DError
✗ Incorrect
COALESCE returns NULL if all arguments are NULL.
Which of these is a valid use of COALESCE?
ACOALESCE(column1, column2, 'default')
BCOALESCE('default')
CCOALESCE()
DCOALESCE(NULL)
✗ Incorrect
COALESCE requires at least two arguments; option D is valid.
COALESCE is most similar to which function?
ASUM
BCOUNT
CISNULL
DAVG
✗ Incorrect
COALESCE and ISNULL both handle NULL values by returning a replacement.
What does COALESCE(NULL, NULL, NULL) return?
AError
B0
CEmpty string
DNULL
✗ Incorrect
All arguments are NULL, so COALESCE returns NULL.
Explain how COALESCE helps handle NULL values in SQL queries.
Think about what happens when you have missing data.
You got /3 concepts.
Write a simple SQL example using COALESCE to replace NULL with 'N/A'.
Use COALESCE with two arguments.
You got /3 concepts.
Practice
(1/5)
1. What does the SQL function COALESCE do when used in a query?
easy
A. Converts all values to NULL
B. Counts the number of NULL values in a column
C. Deletes rows with NULL values
D. Returns the first non-NULL value from the given list of expressions
Solution
Step 1: Understand the purpose of COALESCE
COALESCE checks each value in order and returns the first one that is not NULL.
Step 2: Compare with other options
Counting NULLs, deleting rows, or converting values to NULL are not what COALESCE does.
Final Answer:
Returns the first non-NULL value from the given list of expressions -> Option D
Quick Check:
COALESCE = first non-NULL value [OK]
Hint: COALESCE picks the first value that is not NULL [OK]
Common Mistakes:
Thinking COALESCE counts NULLs
Confusing COALESCE with DELETE
Assuming COALESCE converts values to NULL
2. Which of the following is the correct syntax to use COALESCE in SQL?
easy
A. COALESCE(column1, column2, 'default')
B. COALESCE(column1; column2; 'default')
C. COALESCE(column1 column2 'default')
D. COALESCE[column1, column2, 'default']
Solution
Step 1: Recall COALESCE syntax
COALESCE uses parentheses and commas to separate arguments: COALESCE(value1, value2, ...).
Step 2: Identify correct punctuation
Only COALESCE(column1, column2, 'default') uses commas and parentheses correctly; others use semicolons, spaces, or brackets incorrectly.
Hint: Use commas inside parentheses for COALESCE arguments [OK]
Common Mistakes:
Using semicolons instead of commas
Omitting commas between arguments
Using square brackets instead of parentheses
3. Given the table Employees with columns FirstName, MiddleName, and LastName, what will this query return?
SELECT FirstName, COALESCE(MiddleName, 'N/A') AS Middle, LastName FROM Employees;
Assuming one row has FirstName='John', MiddleName=NULL, LastName='Doe'.
medium
A. John | N/A | Doe
B. John | NULL | Doe
C. John | '' | Doe
D. John | MiddleName | Doe
Solution
Step 1: Understand COALESCE behavior on NULL
COALESCE returns the first non-NULL value. Since MiddleName is NULL, it returns 'N/A'.
Step 2: Apply to the given row
FirstName is 'John', MiddleName replaced by 'N/A', LastName is 'Doe'.
Final Answer:
John | N/A | Doe -> Option A
Quick Check:
NULL replaced by 'N/A' using COALESCE [OK]
Hint: COALESCE replaces NULL with first non-NULL value [OK]
Common Mistakes:
Expecting NULL instead of replacement
Confusing empty string with NULL
Thinking COALESCE returns column name
4. Identify the error in this SQL query:
SELECT COALESCE(FirstName MiddleName, 'Unknown') FROM Employees;
medium
A. COALESCE cannot have string literals
B. Missing comma between FirstName and MiddleName
C. COALESCE requires only one argument
D. Missing FROM clause
Solution
Step 1: Check COALESCE argument syntax
Arguments must be separated by commas. Here, FirstName and MiddleName are missing a comma.
Step 2: Verify other parts
String literals are allowed, multiple arguments allowed, and FROM clause is present.
Final Answer:
Missing comma between FirstName and MiddleName -> Option B
Quick Check:
Arguments need commas in COALESCE [OK]
Hint: Separate COALESCE arguments with commas [OK]
Common Mistakes:
Forgetting commas between arguments
Thinking COALESCE only takes one argument
Ignoring syntax errors in argument list
5. You have a table Orders with columns OrderID, Discount, and SpecialDiscount. Some rows have NULL in both discount columns. You want to write a query that returns OrderID and the first available discount value, or 0 if both are NULL. Which query correctly uses COALESCE to achieve this?
hard
A. SELECT OrderID, COALESCE(Discount, 0) + COALESCE(SpecialDiscount, 0) AS FinalDiscount FROM Orders;
B. SELECT OrderID, COALESCE(Discount + SpecialDiscount, 0) AS FinalDiscount FROM Orders;
C. SELECT OrderID, COALESCE(Discount, SpecialDiscount, 0) AS FinalDiscount FROM Orders;
D. SELECT OrderID, COALESCE(Discount, SpecialDiscount) AS FinalDiscount FROM Orders;
Solution
Step 1: Understand the requirement
Return the first non-NULL discount from Discount or SpecialDiscount, or 0 if both are NULL.
Step 2: Analyze each option
SELECT OrderID, COALESCE(Discount, SpecialDiscount, 0) AS FinalDiscount FROM Orders; uses COALESCE with three arguments correctly. SELECT OrderID, COALESCE(Discount + SpecialDiscount, 0) AS FinalDiscount FROM Orders; sums discounts before COALESCE, which is wrong if both are NULL. SELECT OrderID, COALESCE(Discount, 0) + COALESCE(SpecialDiscount, 0) AS FinalDiscount FROM Orders; sums COALESCE results, which adds discounts instead of picking first non-NULL. SELECT OrderID, COALESCE(Discount, SpecialDiscount) AS FinalDiscount FROM Orders; misses the default 0.
Final Answer:
SELECT OrderID, COALESCE(Discount, SpecialDiscount, 0) AS FinalDiscount FROM Orders; -> Option C
Quick Check:
COALESCE with fallback 0 picks first non-NULL or 0 [OK]
Hint: Use COALESCE with all options and default last [OK]
Common Mistakes:
Adding discounts instead of picking first non-NULL
Forgetting default fallback value
Using COALESCE incorrectly with expressions
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.