Bird
Raised Fist0
SQLquery~5 mins

NULL behavior in comparisons in SQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does NULL represent in SQL?
NULL represents a missing or unknown value in a database. It is not the same as zero or an empty string.
Click to reveal answer
beginner
What is the result of comparing NULL with any value using = or <>?
The result is UNKNOWN, which behaves like FALSE in WHERE clauses. NULL = NULL does not return TRUE.
Click to reveal answer
beginner
How do you properly check if a column value is NULL?
Use IS NULL or IS NOT NULL to check for NULL values instead of = or <>.
Click to reveal answer
intermediate
What is the result of NULL OR TRUE in SQL?
The result is TRUE because TRUE in OR makes the whole expression TRUE regardless of NULL.
Click to reveal answer
intermediate
Why does NULL cause three-valued logic in SQL?
Because NULL means unknown, comparisons can be TRUE, FALSE, or UNKNOWN, affecting query results and filters.
Click to reveal answer
What does the expression NULL = NULL return in SQL?
AUNKNOWN
BFALSE
CTRUE
DNULL
Which SQL syntax correctly checks if a column 'age' is NULL?
Aage = NULL
Bage = ''
Cage IS NULL
Dage <> NULL
What is the result of the condition NULL AND TRUE?
AUNKNOWN
BFALSE
CNULL
DTRUE
If a WHERE clause condition evaluates to UNKNOWN, what happens to that row?
AIt is converted to TRUE
BIt is included in the result
CIt causes an error
DIt is excluded from the result
Which logical operator can turn a NULL value into TRUE in an expression?
AAND
BOR
CNOT
DXOR
Explain how NULL affects comparison operations in SQL and how to properly check for NULL values.
Think about why NULL = NULL is not TRUE.
You got /3 concepts.
    Describe the three-valued logic in SQL caused by NULL and how it impacts query filtering.
    Consider how NULL changes AND, OR, and NOT results.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does NULL represent in a database?
      easy
      A. False boolean
      B. Zero value
      C. Empty string
      D. Missing or unknown data

      Solution

      1. Step 1: Understand the meaning of NULL

        NULL in databases means the data is missing or unknown, not zero or empty.
      2. Step 2: Differentiate NULL from other values

        Zero, empty string, and false are actual values, while NULL means no value is stored.
      3. Final Answer:

        Missing or unknown data -> Option D
      4. Quick Check:

        NULL means missing or unknown data [OK]
      Hint: NULL means unknown or missing, not zero or empty [OK]
      Common Mistakes:
      • Confusing NULL with zero
      • Thinking NULL is an empty string
      • Assuming NULL means false
      2. Which of the following is the correct way to check if a column col is NULL in SQL?
      easy
      A. WHERE col = NULL
      B. WHERE col == NULL
      C. WHERE col IS NULL
      D. WHERE col <> NULL

      Solution

      1. Step 1: Recall SQL syntax for NULL checks

        In SQL, to check for NULL, you must use IS NULL because = NULL does not work.
      2. Step 2: Eliminate incorrect syntax

        col = NULL and col == NULL are invalid for NULL checks; col <> NULL also does not work.
      3. Final Answer:

        WHERE col IS NULL -> Option C
      4. Quick Check:

        Use IS NULL to check NULL values [OK]
      Hint: Use IS NULL, not = or ==, to check for NULL [OK]
      Common Mistakes:
      • Using = NULL instead of IS NULL
      • Using == NULL which is invalid in SQL
      • Using <> NULL to check for NULL
      3. Given a table users with a column age that contains some NULL values, what will this query return?
      SELECT * FROM users WHERE age <> 30;
      medium
      A. All rows where age is not 30, including rows with NULL age
      B. Only rows where age is not 30 and not NULL
      C. Only rows where age is 30
      D. No rows, because NULL causes error

      Solution

      1. Step 1: Understand comparison with NULL

        Comparisons like age <> 30 return UNKNOWN for NULL values, so those rows are excluded.
      2. Step 2: Determine which rows are returned

        Only rows where age is not 30 and age is not NULL will be returned.
      3. Final Answer:

        Only rows where age is not 30 and not NULL -> Option B
      4. Quick Check:

        Comparisons with NULL exclude NULL rows [OK]
      Hint: Comparisons exclude NULL rows, so NULLs are ignored [OK]
      Common Mistakes:
      • Assuming NULL rows are included
      • Thinking NULL causes errors in comparisons
      • Confusing <> with IS NOT NULL
      4. You wrote this query to find rows where status is not NULL:
      SELECT * FROM orders WHERE status <> NULL;

      Why does it return no rows, and how to fix it?
      medium
      A. Comparison with NULL returns UNKNOWN; use status IS NOT NULL
      B. Syntax error; use status != NULL
      C. NULL is treated as zero; use status <> 0
      D. Query is correct; no rows have status

      Solution

      1. Step 1: Understand NULL comparison behavior

        Comparing with NULL using <> returns UNKNOWN, so no rows match.
      2. Step 2: Use correct syntax to check NOT NULL

        Use status IS NOT NULL to find rows where status is not NULL.
      3. Final Answer:

        Comparison with NULL returns UNKNOWN; use status IS NOT NULL -> Option A
      4. Quick Check:

        Use IS NOT NULL to check for non-NULL values [OK]
      Hint: Use IS NOT NULL, not <> NULL, to find non-NULL rows [OK]
      Common Mistakes:
      • Using <> NULL instead of IS NOT NULL
      • Assuming <> NULL works like != NULL
      • Thinking NULL is zero or empty
      5. You want to select all rows from products where discount is either NULL or greater than 10. Which query correctly returns these rows?
      hard
      A. SELECT * FROM products WHERE discount > 10 OR discount IS NULL;
      B. SELECT * FROM products WHERE discount > 10 AND discount IS NULL;
      C. SELECT * FROM products WHERE discount > 10 OR discount = NULL;
      D. SELECT * FROM products WHERE discount > 10 AND discount = NULL;

      Solution

      1. Step 1: Understand NULL checks with OR condition

        To include NULL values, use IS NULL, not = NULL.
      2. Step 2: Combine conditions correctly

        Use OR to select rows where discount is greater than 10 or discount is NULL.
      3. Final Answer:

        SELECT * FROM products WHERE discount > 10 OR discount IS NULL; -> Option A
      4. Quick Check:

        Use IS NULL with OR to include NULLs [OK]
      Hint: Use OR with IS NULL to include NULL values in conditions [OK]
      Common Mistakes:
      • Using = NULL instead of IS NULL
      • Using AND instead of OR with NULL checks
      • Assuming NULL compares like normal values
      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