Bird
Raised Fist0
SQLquery~10 mins

WHERE with IS NULL and IS NOT NULL in SQL - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to select rows where the column 'email' has no value (is NULL).

SQL
SELECT * FROM users WHERE email [1] NULL;
Drag options to blanks, or click blank then click option'
ALIKE
B=
CIS
DNOT
Attempts:
3 left
💡 Hint
Common Mistakes
Using '=' instead of 'IS' to check for NULL.
Using 'LIKE' which is for pattern matching, not NULL checks.
2fill in blank
medium

Complete the code to select rows where the column 'phone' has a value (is NOT NULL).

SQL
SELECT * FROM contacts WHERE phone [1] NOT NULL;
Drag options to blanks, or click blank then click option'
AIS
B=
CLIKE
DNOT LIKE
Attempts:
3 left
💡 Hint
Common Mistakes
Using '=' or 'LIKE' instead of 'IS' for NULL checks.
Forgetting to include 'NOT' before NULL.
3fill in blank
hard

Fix the error in the code to select rows where 'address' is NULL.

SQL
SELECT * FROM customers WHERE address [1] NULL;
Drag options to blanks, or click blank then click option'
AIS
B!=
C<>
DLIKE
Attempts:
3 left
💡 Hint
Common Mistakes
Using '= NULL' which always returns false.
Using '!=' or '<>' to check for NULL.
4fill in blank
hard

Fill both blanks to select rows where 'status' is NOT NULL and 'email' is NULL.

SQL
SELECT * FROM users WHERE status [1] NOT NULL AND email [2] NULL;
Drag options to blanks, or click blank then click option'
AIS
B=
CIS NOT
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '=' or '!=' instead of 'IS' for NULL checks.
Mixing up NULL and NOT NULL syntax.
5fill in blank
hard

Fill all three blanks to select rows where 'last_login' is NOT NULL, 'email' is NOT NULL, and 'phone' is NULL.

SQL
SELECT * FROM members WHERE last_login [1] NOT NULL AND email [2] NOT NULL AND phone [3] NULL;
Drag options to blanks, or click blank then click option'
AIS
BIS NOT
C=
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '=' or '!=' instead of 'IS' or 'IS NOT'.
Confusing NULL and NOT NULL syntax.

Practice

(1/5)
1. Which SQL clause correctly finds rows where the email column has no value stored (is missing)?
easy
A. WHERE email = NULL
B. WHERE email = ''
C. WHERE email IS NULL
D. WHERE email IS NOT NULL

Solution

  1. Step 1: Understand NULL meaning in SQL

    NULL means no value or missing data, not an empty string or zero.
  2. Step 2: Use correct syntax to check NULL

    To check for NULL, use IS NULL, not = NULL or empty string.
  3. Final Answer:

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

    Check NULL with IS NULL = WHERE email IS NULL [OK]
Hint: Use IS NULL to find missing values, never = NULL [OK]
Common Mistakes:
  • Using = NULL instead of IS NULL
  • Confusing empty string '' with NULL
  • Using IS NOT NULL to find missing values
2. Which of the following is the correct syntax to select rows where the phone column is NOT missing?
easy
A. SELECT * FROM contacts WHERE phone IS NOT NULL;
B. SELECT * FROM contacts WHERE phone = NOT NULL;
C. SELECT * FROM contacts WHERE phone != NULL;
D. SELECT * FROM contacts WHERE phone NOT NULL;

Solution

  1. Step 1: Recall correct syntax for NOT NULL check

    SQL uses IS NOT NULL to find rows where value exists.
  2. Step 2: Identify syntax errors in other options

    Options B, C, D use invalid syntax like = NOT NULL or != NULL or missing IS.
  3. Final Answer:

    SELECT * FROM contacts WHERE phone IS NOT NULL; -> Option A
  4. Quick Check:

    Use IS NOT NULL to find existing values = SELECT * FROM contacts WHERE phone IS NOT NULL; [OK]
Hint: Use IS NOT NULL, not = NOT NULL or != NULL [OK]
Common Mistakes:
  • Using = NOT NULL instead of IS NOT NULL
  • Using != NULL which is invalid
  • Omitting IS keyword
3. Given the table employees with columns id, name, and manager_id where some employees have no manager (NULL), what will this query return?
SELECT name FROM employees WHERE manager_id IS NULL;
medium
A. All employees who have a manager assigned
B. All employees who do not have a manager assigned
C. All employees including those with and without managers
D. Syntax error due to IS NULL usage

Solution

  1. Step 1: Understand IS NULL condition

    The condition manager_id IS NULL filters rows where manager_id has no value (missing).
  2. Step 2: Interpret query result

    The query returns names of employees without any manager assigned (NULL manager_id).
  3. Final Answer:

    All employees who do not have a manager assigned -> Option B
  4. Quick Check:

    IS NULL filters missing values = All employees who do not have a manager assigned [OK]
Hint: IS NULL finds missing values, so returns employees without managers [OK]
Common Mistakes:
  • Thinking IS NULL finds rows with values
  • Confusing NULL with empty string
  • Assuming syntax error with IS NULL
4. Identify the error in this query that tries to select rows where address is NOT NULL:
SELECT * FROM customers WHERE address != NULL;
medium
A. Should use = NULL instead of != NULL
B. Missing quotes around NULL
C. No error; query is correct
D. Using != NULL is invalid; should use IS NOT NULL

Solution

  1. Step 1: Check NULL comparison syntax

    In SQL, NULL cannot be compared with = or != operators.
  2. Step 2: Use correct syntax for NOT NULL

    The correct way is IS NOT NULL to check for non-missing values.
  3. Final Answer:

    Using != NULL is invalid; should use IS NOT NULL -> Option D
  4. Quick Check:

    Use IS NOT NULL, not != NULL [OK]
Hint: Never use = or != with NULL; use IS (NOT) NULL [OK]
Common Mistakes:
  • Using != NULL or = NULL
  • Adding quotes around NULL
  • Assuming != NULL works like other values
5. You have a table orders with columns order_id, customer_id, and shipped_date. Some orders are not shipped yet and have shipped_date as NULL. Which query lists all orders that have been shipped?
hard
A. SELECT * FROM orders WHERE shipped_date IS NOT NULL;
B. SELECT * FROM orders WHERE shipped_date IS NULL;
C. SELECT * FROM orders WHERE shipped_date != NULL;
D. SELECT * FROM orders WHERE shipped_date = NULL;

Solution

  1. Step 1: Understand meaning of shipped_date NULL

    NULL means order not shipped yet, so shipped orders have non-NULL dates.
  2. Step 2: Use correct syntax to find shipped orders

    Use IS NOT NULL to find rows where shipped_date has a value.
  3. Final Answer:

    SELECT * FROM orders WHERE shipped_date IS NOT NULL; -> Option A
  4. Quick Check:

    IS NOT NULL finds shipped orders = SELECT * FROM orders WHERE shipped_date IS NOT NULL; [OK]
Hint: IS NOT NULL finds rows with values, perfect for shipped orders [OK]
Common Mistakes:
  • Using = NULL or != NULL which are invalid
  • Using IS NULL to find shipped orders
  • Confusing NULL with empty string
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