Bird
Raised Fist0
MySQLquery~5 mins

IFNULL and COALESCE in MySQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the IFNULL function do in MySQL?
IFNULL(expression, alternative) returns the alternative value if the expression is NULL; otherwise, it returns the expression's value.
Click to reveal answer
intermediate
How is COALESCE different from IFNULL?
COALESCE(expression1, expression2, ..., expressionN) returns the first non-NULL expression from the list, while IFNULL only takes two arguments.
Click to reveal answer
beginner
Write a simple example using IFNULL to replace NULL with 0.
SELECT IFNULL(salary, 0) AS salary FROM employees;
Click to reveal answer
beginner
Write a simple example using COALESCE to find the first non-NULL value among three columns.
SELECT COALESCE(phone_home, phone_mobile, phone_work) AS contact_phone FROM contacts;
Click to reveal answer
intermediate
Why might you prefer COALESCE over IFNULL in some cases?
Because COALESCE can check multiple values and return the first non-NULL, it is more flexible for handling several possible NULLs.
Click to reveal answer
What will IFNULL(NULL, 'default') return?
A'default'
BNULL
CError
DEmpty string
Which function can take more than two arguments to check for the first non-NULL value?
ACOALESCE
BIFNULL
CISNULL
DNVL
What does COALESCE(NULL, NULL, 'apple', 'banana') return?
ANULL
B'apple'
C'banana'
DError
If salary is 5000, what does IFNULL(salary, 0) return?
AError
BNULL
C0
D5000
Which function is standard SQL and works in many databases?
ANVL
BIFNULL
CCOALESCE
DISNULL
Explain how IFNULL works and give a simple example.
Think about replacing missing values with something else.
You got /3 concepts.
    Describe the difference between IFNULL and COALESCE and when to use each.
    Consider how many values you want to check for NULL.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the IFNULL(expr1, expr2) function do in MySQL?
      easy
      A. Checks if expr1 equals expr2 and returns TRUE or FALSE.
      B. Returns expr2 if expr1 is NULL, otherwise returns expr1.
      C. Returns the first non-NULL value from a list of expressions.
      D. Returns NULL if expr1 is NULL, otherwise returns expr2.

      Solution

      1. Step 1: Understand IFNULL function behavior

        IFNULL takes two expressions and checks if the first is NULL.
      2. Step 2: Determine return value based on NULL check

        If the first expression is NULL, it returns the second; otherwise, it returns the first.
      3. Final Answer:

        Returns expr2 if expr1 is NULL, otherwise returns expr1. -> Option B
      4. Quick Check:

        IFNULL(expr1, expr2) = expr2 if expr1 is NULL [OK]
      Hint: IFNULL replaces NULL with one default value quickly [OK]
      Common Mistakes:
      • Confusing IFNULL with COALESCE
      • Thinking IFNULL returns NULL always
      • Mixing order of arguments
      2. Which of the following is the correct syntax to use COALESCE in MySQL?
      easy
      A. COALESCE(expr1, expr2, ..., exprN)
      B. COALESCE(expr1; expr2; ...; exprN)
      C. COALESCE[expr1, expr2, ..., exprN]
      D. COALESCE{expr1, expr2, ..., exprN}

      Solution

      1. Step 1: Recall COALESCE syntax

        COALESCE takes a comma-separated list of expressions inside parentheses.
      2. Step 2: Identify correct punctuation

        Only COALESCE(expr1, expr2, ..., exprN) uses commas and parentheses correctly.
      3. Final Answer:

        COALESCE(expr1, expr2, ..., exprN) -> Option A
      4. Quick Check:

        COALESCE uses commas and parentheses [OK]
      Hint: Use commas inside parentheses for COALESCE [OK]
      Common Mistakes:
      • Using semicolons instead of commas
      • Using brackets or braces instead of parentheses
      • Missing parentheses
      3. Given the table users with columns id, nickname, and fullname, what will this query return?
      SELECT id, COALESCE(nickname, fullname, 'Guest') AS display_name FROM users;

      Assuming a row has nickname = NULL and fullname = 'Alice'.
      medium
      A. 'Alice'
      B. 'Guest'
      C. NULL
      D. Empty string

      Solution

      1. Step 1: Understand COALESCE behavior with given values

        COALESCE returns the first non-NULL value from the list: nickname, fullname, 'Guest'.
      2. Step 2: Apply values to COALESCE

        Since nickname is NULL, it checks fullname which is 'Alice', so it returns 'Alice'.
      3. Final Answer:

        'Alice' -> Option A
      4. Quick Check:

        COALESCE(NULL, 'Alice', 'Guest') = 'Alice' [OK]
      Hint: COALESCE picks first non-NULL value from left to right [OK]
      Common Mistakes:
      • Assuming COALESCE returns NULL if first is NULL
      • Confusing COALESCE with IFNULL
      • Thinking it returns default always
      4. Identify the error in this query:
      SELECT IFNULL(name, 'Unknown' 'N/A') FROM employees;
      medium
      A. No error, query is correct
      B. IFNULL cannot take string literals
      C. Incorrect function name, should be COALESCE
      D. Missing comma between 'Unknown' and 'N/A'

      Solution

      1. Step 1: Check IFNULL syntax

        IFNULL takes exactly two arguments separated by a comma.
      2. Step 2: Identify argument separation error

        The query has two string literals without a comma between them, causing syntax error.
      3. Final Answer:

        Missing comma between 'Unknown' and 'N/A' -> Option D
      4. Quick Check:

        Arguments must be comma-separated [OK]
      Hint: Separate arguments with commas in functions [OK]
      Common Mistakes:
      • Forgetting commas between arguments
      • Using IFNULL with more than two arguments
      • Confusing IFNULL and COALESCE syntax
      5. You want to display a user's contact info by checking email, then phone, and if both are NULL, show 'No contact'. Which query correctly uses COALESCE for this?
      hard
      A. SELECT COALESCE(email, 'No contact', phone) AS contact_info FROM users;
      B. SELECT IFNULL(email, IFNULL(phone, 'No contact')) AS contact_info FROM users;
      C. SELECT COALESCE(email, phone, 'No contact') AS contact_info FROM users;
      D. SELECT IFNULL(email, phone, 'No contact') AS contact_info FROM users;

      Solution

      1. Step 1: Understand COALESCE usage for multiple values

        COALESCE returns the first non-NULL value from all arguments in order.
      2. Step 2: Check argument order for contact info

        We want email first, then phone, then 'No contact' if both NULL.
      3. Step 3: Validate each option

        SELECT COALESCE(email, phone, 'No contact') AS contact_info FROM users; correctly orders arguments. SELECT IFNULL(email, IFNULL(phone, 'No contact')) AS contact_info FROM users; uses nested IFNULL which works but is more complex. SELECT COALESCE(email, 'No contact', phone) AS contact_info FROM users; puts 'No contact' before phone, which is wrong. SELECT IFNULL(email, phone, 'No contact') AS contact_info FROM users; has wrong IFNULL syntax with three arguments.
      4. Final Answer:

        SELECT COALESCE(email, phone, 'No contact') AS contact_info FROM users; -> Option C
      5. Quick Check:

        COALESCE picks first non-NULL in order [OK]
      Hint: List values in COALESCE from most to least preferred [OK]
      Common Mistakes:
      • Putting default value before other columns
      • Using IFNULL with more than two arguments
      • Confusing argument order
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard