What does the NULLIF(expr1, expr2) function do in MySQL?
It compares expr1 and expr2. If they are equal, it returns NULL. Otherwise, it returns expr1.
Click to reveal answer
beginner
What will NULLIF(5, 5) return?
It returns NULL because both values are equal.
Click to reveal answer
beginner
What will NULLIF('apple', 'orange') return?
It returns 'apple' because the two values are not equal.
Click to reveal answer
intermediate
Why is NULLIF useful in SQL queries?
It helps avoid division by zero or handle special cases by returning NULL when two values match, which can prevent errors or unwanted results.
Click to reveal answer
intermediate
How does NULLIF differ from a simple CASE statement?
While CASE can do many checks, NULLIF is a shortcut for returning NULL if two expressions are equal, making code shorter and clearer.
Click to reveal answer
What does NULLIF(10, 10) return?
ANULL
B10
C0
DError
✗ Incorrect
NULLIF returns NULL when both arguments are equal.
If NULLIF('cat', 'dog') is used, what is the result?
A'dog'
BNULL
C'cat'
DError
✗ Incorrect
Since the two values are different, NULLIF returns the first value, 'cat'.
Which of these is a common use of NULLIF?
ATo replace NULL values with zero
BTo return NULL when two values are equal
CTo concatenate two strings
DTo count rows in a table
✗ Incorrect
NULLIF returns NULL if the two expressions are equal.
What will SELECT NULLIF(0, 0) + 1; return?
AError
B1
C0
DNULL
✗ Incorrect
Since both values are equal, NULLIF returns NULL. Adding 1 to NULL results in NULL.
Which SQL function is a shortcut for: CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END?
ANULLIF
BISNULL
CIFNULL
DCOALESCE
✗ Incorrect
NULLIF(expr1, expr2) does exactly that: returns NULL if equal, else expr1.
Explain how the NULLIF function works and give a simple example.
Think about comparing two values and what happens if they match.
You got /3 concepts.
Describe a practical situation where using NULLIF can help avoid errors in SQL queries.
Consider what happens if you divide by zero or want to ignore certain values.
You got /3 concepts.
Practice
(1/5)
1. What does the NULLIF function do in MySQL?
easy
A. Returns the sum of two expressions
B. Returns NULL if two expressions are equal, otherwise returns the first expression
C. Returns the first non-NULL expression
D. Returns the second expression if it is NULL
Solution
Step 1: Understand the purpose of NULLIF
NULLIF compares two expressions and returns NULL if they are equal.
Step 2: Identify the return value when expressions differ
If the expressions are not equal, NULLIF returns the first expression.
Final Answer:
Returns NULL if two expressions are equal, otherwise returns the first expression -> Option B
Quick Check:
NULLIF returns NULL on equality [OK]
Hint: NULLIF returns NULL only when values match exactly [OK]
Common Mistakes:
Confusing NULLIF with COALESCE
Thinking it sums values
Assuming it returns second expression
2. Which of the following is the correct syntax for the NULLIF function in MySQL?
easy
A. NULLIF(expression1 OR expression2)
B. NULLIF(expression1 = expression2)
C. NULLIF(expression1, expression2, expression3)
D. NULLIF(expression1, expression2)
Solution
Step 1: Recall the syntax format of NULLIF
NULLIF takes exactly two expressions separated by a comma inside parentheses.
Step 2: Check each option's syntax
NULLIF(expression1, expression2) matches the correct syntax: NULLIF(expression1, expression2). Others have wrong number of arguments or invalid operators.
Final Answer:
NULLIF(expression1, expression2) -> Option D
Quick Check:
NULLIF syntax uses two expressions separated by comma [OK]
Hint: NULLIF always uses two expressions separated by a comma [OK]
Common Mistakes:
Using comparison operator inside NULLIF
Providing more than two arguments
Using logical operators inside NULLIF
3. Given the table sales with columns id and amount, what will this query return?
SELECT id, NULLIF(amount, 0) AS adjusted_amount FROM sales;
If the table data is: id | amount 1 | 100 2 | 0 3 | 50
medium
A. [{id:1, adjusted_amount:100}, {id:2, adjusted_amount:0}, {id:3, adjusted_amount:50}]
B. [{id:1, adjusted_amount:NULL}, {id:2, adjusted_amount:0}, {id:3, adjusted_amount:NULL}]
C. [{id:1, adjusted_amount:100}, {id:2, adjusted_amount:NULL}, {id:3, adjusted_amount:50}]
D. [{id:1, adjusted_amount:NULL}, {id:2, adjusted_amount:NULL}, {id:3, adjusted_amount:NULL}]
Solution
Step 1: Understand NULLIF(amount, 0)
NULLIF returns NULL if amount equals 0, else returns amount.
[{id:1, adjusted_amount:100}, {id:2, adjusted_amount:NULL}, {id:3, adjusted_amount:50}] -> Option C
Quick Check:
NULLIF returns NULL only when amount is zero [OK]
Hint: NULLIF returns NULL when first value equals second [OK]
Common Mistakes:
Assuming NULLIF returns 0 instead of NULL
Confusing order of arguments
Thinking NULLIF changes non-zero values
4. Identify the error in this query:
SELECT id, NULLIF(amount) FROM sales;
medium
A. NULLIF requires exactly two arguments
B. NULLIF cannot be used in SELECT clause
C. amount column does not exist
D. NULLIF should be written as NULLIF(amount = 0)
Solution
Step 1: Check NULLIF function usage
NULLIF requires two arguments: expression1 and expression2.
Step 2: Analyze the query
The query uses NULLIF with only one argument, which is invalid syntax.
Final Answer:
NULLIF requires exactly two arguments -> Option A
Quick Check:
NULLIF needs two expressions separated by comma [OK]
Hint: NULLIF always needs two arguments [OK]
Common Mistakes:
Using NULLIF with one argument
Writing NULLIF with comparison inside
Assuming NULLIF works like ISNULL
5. You want to replace zero values in the score column with NULL in a query result. Which query correctly uses NULLIF to achieve this?
hard
A. SELECT id, NULLIF(score, 0) AS score_or_null FROM results;
B. SELECT id, NULLIF(0, score) AS score_or_null FROM results;
C. SELECT id, NULLIF(score) AS score_or_null FROM results;
D. SELECT id, NULLIF(score = 0) AS score_or_null FROM results;
Solution
Step 1: Understand the goal
We want to convert zero scores to NULL, keep others unchanged.
Step 2: Apply NULLIF correctly
NULLIF(score, 0) returns NULL if score is 0, else returns score. SELECT id, NULLIF(score, 0) AS score_or_null FROM results; matches this logic.
Step 3: Check other options
SELECT id, NULLIF(0, score) AS score_or_null FROM results; reverses arguments, changing logic. SELECT id, NULLIF(score) AS score_or_null FROM results; has missing argument. SELECT id, NULLIF(score = 0) AS score_or_null FROM results; uses invalid syntax.
Final Answer:
SELECT id, NULLIF(score, 0) AS score_or_null FROM results; -> Option A
Quick Check:
NULLIF(score, 0) replaces zeros with NULL [OK]
Hint: Use NULLIF(column, 0) to convert zeros to NULL [OK]
Common Mistakes:
Swapping argument order
Using only one argument
Using comparison inside NULLIF
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.