Bird
Raised Fist0
SQLquery~30 mins

WHERE with AND operator in SQL - Mini Project: Build & Apply

Choose your learning style10 modes available
Filtering Data Using WHERE with AND Operator
📖 Scenario: You are working with a small store's database. The store wants to find products that are both affordable and in stock.
🎯 Goal: Build an SQL query that selects products with a price less than 20 and quantity greater than 0 using the WHERE clause with the AND operator.
📋 What You'll Learn
Create a table called products with columns id, name, price, and quantity.
Insert exactly these rows into products: (1, 'Pen', 5, 10), (2, 'Notebook', 15, 0), (3, 'Eraser', 3, 5), (4, 'Backpack', 25, 3).
Create a variable or placeholder for the price limit set to 20.
Write a SELECT query to get name and price from products where price is less than the price limit and quantity is greater than 0 using WHERE with AND.
Complete the query with a semicolon.
💡 Why This Matters
🌍 Real World
Filtering data with multiple conditions is common in business reports, inventory checks, and customer queries.
💼 Career
Knowing how to use WHERE with AND helps in writing precise database queries for data analysis and application development.
Progress0 / 4 steps
1
Create the products table and insert data
Write SQL statements to create a table called products with columns id (integer), name (text), price (integer), and quantity (integer). Then insert these exact rows: (1, 'Pen', 5, 10), (2, 'Notebook', 15, 0), (3, 'Eraser', 3, 5), and (4, 'Backpack', 25, 3).
SQL
Hint

Use CREATE TABLE to define the table and INSERT INTO with multiple rows to add the data.

2
Set the price limit variable
Write an SQL statement to set a variable called price_limit to 20. Use a WITH clause or a common table expression (CTE) to hold this value.
SQL
Hint

Use a WITH clause to create a named value for the price limit.

3
Write the SELECT query with WHERE and AND
Write a SELECT query to get name and price from products where price is less than price_limit.limit_value and quantity is greater than 0. Use the WHERE clause with the AND operator. Use the price_limit CTE defined earlier.
SQL
Hint

Use the WHERE clause with AND to combine conditions on price and quantity.

4
Complete the query with a semicolon
Add a semicolon ; at the end of the SELECT query to complete the SQL statement.
SQL
Hint

Remember to end SQL statements with a semicolon ;.

Practice

(1/5)
1. What does the WHERE clause with the AND operator do in an SQL query?
easy
A. Filters rows that meet any one of the conditions
B. Joins two tables together
C. Filters rows that meet all specified conditions
D. Sorts the result set in ascending order

Solution

  1. Step 1: Understand the WHERE clause

    The WHERE clause filters rows based on conditions given in the query.
  2. Step 2: Understand the AND operator

    The AND operator requires all conditions to be true for a row to be included.
  3. Final Answer:

    Filters rows that meet all specified conditions -> Option C
  4. Quick Check:

    WHERE + AND = all conditions true [OK]
Hint: AND means all conditions must be true together [OK]
Common Mistakes:
  • Thinking AND means any condition can be true
  • Confusing WHERE with JOIN
  • Assuming AND sorts data
2. Which of the following is the correct syntax to select rows where age is greater than 18 AND city is 'New York'?
easy
A. SELECT * FROM users WHERE age > 18 AND city = 'New York';
B. SELECT * FROM users WHERE age > 18, city = 'New York';
C. SELECT * FROM users WHERE age > 18 OR city = 'New York';
D. SELECT * FROM users WHERE age > 18 AND city == 'New York';

Solution

  1. Step 1: Check the operator between conditions

    The question asks for AND, so the operator must be AND, not OR or comma.
  2. Step 2: Check the comparison operators

    Use single equals (=) for comparison in SQL, not double equals (==).
  3. Final Answer:

    SELECT * FROM users WHERE age > 18 AND city = 'New York'; -> Option A
  4. Quick Check:

    AND + = correct syntax [OK]
Hint: Use AND and single = for conditions in WHERE [OK]
Common Mistakes:
  • Using OR instead of AND
  • Using comma instead of AND
  • Using == instead of = for comparison
3. Given the table employees with columns name, department, and salary, what will this query return?
SELECT name FROM employees WHERE department = 'Sales' AND salary > 50000;
medium
A. Names of employees in Sales with salary over 50000
B. Names of employees in Sales or salary over 50000
C. All employees with salary over 50000
D. Syntax error due to missing OR

Solution

  1. Step 1: Analyze the WHERE clause conditions

    The query filters rows where department equals 'Sales' AND salary is greater than 50000.
  2. Step 2: Understand the AND effect

    Only employees meeting both conditions will be selected, so names returned are from Sales with salary above 50000.
  3. Final Answer:

    Names of employees in Sales with salary over 50000 -> Option A
  4. Quick Check:

    AND filters both conditions true [OK]
Hint: AND means both conditions must be true to select rows [OK]
Common Mistakes:
  • Thinking OR is used instead of AND
  • Assuming it returns all employees with salary > 50000
  • Believing syntax error occurs without OR
4. Identify the error in this SQL query:
SELECT * FROM products WHERE price > 100 AND category 'Electronics';
medium
A. AND should be OR
B. Missing comparison operator (=) before 'Electronics'
C. price > 100 is invalid syntax
D. Missing FROM keyword

Solution

  1. Step 1: Check the WHERE clause syntax

    The condition after AND is missing a comparison operator before 'Electronics'. It should be category = 'Electronics'.
  2. Step 2: Verify other parts

    price > 100 is correct, AND is valid, and FROM is present.
  3. Final Answer:

    Missing comparison operator (=) before 'Electronics' -> Option B
  4. Quick Check:

    Comparison operator needed before value [OK]
Hint: Each condition needs a comparison operator like = [OK]
Common Mistakes:
  • Omitting = in conditions
  • Replacing AND with OR incorrectly
  • Ignoring syntax errors in WHERE clause
5. You have a table orders with columns order_id, customer_id, status, and total. Write a query to find all orders with status 'shipped' AND total greater than 100, but exclude orders where customer_id is NULL. Which query is correct?
hard
A. SELECT * FROM orders WHERE status = 'shipped' AND total > 100 AND customer_id != NULL;
B. SELECT * FROM orders WHERE status = 'shipped' OR total > 100 AND customer_id IS NOT NULL;
C. SELECT * FROM orders WHERE status = 'shipped' AND total > 100 OR customer_id IS NOT NULL;
D. SELECT * FROM orders WHERE status = 'shipped' AND total > 100 AND customer_id IS NOT NULL;

Solution

  1. Step 1: Combine conditions with AND

    We want orders where status is 'shipped' AND total is greater than 100 AND customer_id is not NULL.
  2. Step 2: Use correct syntax for NULL check

    In SQL, to check for NULL, use IS NOT NULL, not != NULL.
  3. Final Answer:

    SELECT * FROM orders WHERE status = 'shipped' AND total > 100 AND customer_id IS NOT NULL; -> Option D
  4. Quick Check:

    Use AND and IS NOT NULL for correct filtering [OK]
Hint: Use IS NOT NULL to exclude NULLs with AND [OK]
Common Mistakes:
  • Using OR instead of AND
  • Using != NULL instead of IS NOT NULL
  • Mixing AND and OR without parentheses
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