Bird
Raised Fist0
MySQLquery~30 mins

IS NULL and IS NOT NULL in MySQL - Mini Project: Build & Apply

Choose your learning style10 modes available
Filtering NULL Values with IS NULL and IS NOT NULL in MySQL
📖 Scenario: You are managing a small online store database. Some products have missing information in the description field because the details are not yet available.You want to learn how to find products that have missing descriptions and those that have descriptions filled in.
🎯 Goal: Build SQL queries to select products with NULL descriptions and products with non-NULL descriptions using IS NULL and IS NOT NULL.
📋 What You'll Learn
Create a table called products with columns id, name, and description.
Insert 5 products with some description values set to NULL.
Write a query to select products where description IS NULL.
Write a query to select products where description IS NOT NULL.
💡 Why This Matters
🌍 Real World
Handling missing data is common in databases. Knowing how to find NULL values helps keep data clean and accurate.
💼 Career
Database administrators and developers often need to filter and manage NULL values to ensure correct data processing and reporting.
Progress0 / 4 steps
1
Create the products table and insert data
Create a table called products with columns id (integer), name (varchar 50), and description (varchar 100). Insert these 5 products exactly:
(1, 'Laptop', 'Portable computer'), (2, 'Mouse', NULL), (3, 'Keyboard', 'Mechanical keyboard'), (4, 'Monitor', NULL), (5, 'Printer', 'Color printer').
MySQL
Hint

Use CREATE TABLE to define the table and INSERT INTO to add rows. Use NULL for missing descriptions.

2
Set up a query to find products with NULL descriptions
Write a SQL query to select all columns from products where the description is NULL. Use the condition description IS NULL.
MySQL
Hint

Use SELECT * FROM products WHERE description IS NULL; to find rows with missing descriptions.

3
Set up a query to find products with non-NULL descriptions
Write a SQL query to select all columns from products where the description is NOT NULL. Use the condition description IS NOT NULL.
MySQL
Hint

Use SELECT * FROM products WHERE description IS NOT NULL; to find rows with descriptions filled in.

4
Complete the project with comments explaining the queries
Add comments above each SELECT query explaining what it does: one comment for the query selecting products with NULL descriptions and one comment for the query selecting products with non-NULL descriptions.
MySQL
Hint

Use -- to add comments above each query explaining its purpose.

Practice

(1/5)
1. What does the SQL condition column_name IS NULL check for in a table?
easy
A. It checks if the column value is missing or empty.
B. It checks if the column value is zero.
C. It checks if the column value is a blank string.
D. It checks if the column value is greater than zero.

Solution

  1. Step 1: Understand the meaning of NULL in SQL

    NULL means the value is missing or unknown, not zero or empty string.
  2. Step 2: Analyze the condition IS NULL

    This condition returns true only when the column has no value (NULL).
  3. Final Answer:

    It checks if the column value is missing or unknown. -> Option A
  4. Quick Check:

    IS NULL means missing value check [OK]
Hint: IS NULL means value is missing, not zero or empty [OK]
Common Mistakes:
  • Confusing NULL with zero or empty string
  • Using = NULL instead of IS NULL
  • Thinking NULL means zero
2. Which of the following is the correct syntax to select rows where the column email is NOT NULL?
easy
A. SELECT * FROM users WHERE email IS NOT NULL;
B. SELECT * FROM users WHERE email = NOT NULL;
C. SELECT * FROM users WHERE email != NULL;
D. SELECT * FROM users WHERE NOT email = NULL;

Solution

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

    In SQL, to check for NOT NULL, use IS NOT NULL.
  2. Step 2: Evaluate each option

    SELECT * FROM users WHERE email IS NOT NULL; uses correct syntax. Others use invalid or incorrect operators with NULL.
  3. Final Answer:

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

    Use IS NOT NULL to check non-missing values [OK]
Hint: Use IS NOT NULL, not = or != with NULL [OK]
Common Mistakes:
  • Using = NULL or != NULL instead of IS NULL/IS NOT NULL
  • Forgetting IS keyword
  • Using NOT email = NULL which is invalid
3. Given the table orders with columns order_id and shipped_date, what will this query return?
SELECT order_id FROM orders WHERE shipped_date IS NULL;
medium
A. All orders that have a shipped date recorded.
B. All orders that have not been shipped yet.
C. All orders with shipped_date equal to zero.
D. Syntax error due to IS NULL usage.

Solution

  1. Step 1: Understand what IS NULL filters

    The condition shipped_date IS NULL selects rows where shipped_date is missing.
  2. Step 2: Interpret the meaning in context

    Missing shipped_date means the order has not been shipped yet.
  3. Final Answer:

    All orders that have not been shipped yet. -> Option B
  4. Quick Check:

    IS NULL finds missing shipped dates = unshipped orders [OK]
Hint: IS NULL finds missing data, here unshipped orders [OK]
Common Mistakes:
  • Thinking IS NULL returns shipped orders
  • Confusing NULL with zero or empty string
  • Assuming syntax error with IS NULL
4. You wrote this query but it returns no rows:
SELECT * FROM employees WHERE manager_id = NULL;

What is the error and how to fix it?
medium
A. Add quotes around NULL like = 'NULL'.
B. Change manager_id to IS NOT NULL.
C. Use IS NULL instead of = NULL to check for NULL values.
D. Use != NULL to find rows with NULL.

Solution

  1. Step 1: Identify incorrect NULL comparison

    Using = NULL always returns false because NULL is not equal to anything.
  2. Step 2: Correct syntax to check NULL

    Use IS NULL to check for NULL values properly.
  3. Final Answer:

    Use IS NULL instead of = NULL to check for NULL values. -> Option C
  4. Quick Check:

    Use IS NULL, not = NULL, for NULL checks [OK]
Hint: Always use IS NULL, never = NULL for missing values [OK]
Common Mistakes:
  • Using = NULL or != NULL instead of IS NULL/IS NOT NULL
  • Adding quotes around NULL
  • Confusing IS NULL with IS NOT NULL
5. You want to find customers who have provided a phone number but no email. Which query correctly uses IS NULL and IS NOT NULL to do this?
SELECT * FROM customers WHERE phone IS NOT NULL AND email IS NULL;
hard
A. This query has syntax errors with IS NULL usage.
B. This query returns customers missing both phone and email.
C. This query returns customers with both phone and email.
D. This query returns customers with phone and missing email.

Solution

  1. Step 1: Analyze the conditions

    phone IS NOT NULL selects customers who provided a phone number.
  2. Step 2: Check the email condition

    email IS NULL selects customers who did not provide an email.
  3. Step 3: Combine conditions with AND

    Both conditions together find customers with phone but no email.
  4. Final Answer:

    This query returns customers with phone and missing email. -> Option D
  5. Quick Check:

    IS NOT NULL and IS NULL combined filter correctly [OK]
Hint: Combine IS NOT NULL and IS NULL with AND for mixed filters [OK]
Common Mistakes:
  • Mixing AND with OR incorrectly
  • Using = NULL instead of IS NULL
  • Confusing which column to check for NULL
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