Bird
Raised Fist0
SQLquery~10 mins

Why filtering is essential in SQL - Test Your Understanding

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

Complete the code to select only employees from the 'Sales' department.

SQL
SELECT * FROM employees WHERE department = [1];
Drag options to blanks, or click blank then click option'
A'HR'
B'Finance'
C'Marketing'
D'Sales'
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting to use quotes around the department name.
Using the wrong department name.
2fill in blank
medium

Complete the code to find products with a price greater than 100.

SQL
SELECT product_name FROM products WHERE price [1] 100;
Drag options to blanks, or click blank then click option'
A<
B>
C=
D<=
Attempts:
3 left
💡 Hint
Common Mistakes
Using < instead of >.
Using = which only finds prices exactly 100.
3fill in blank
hard

Fix the error in the code to select customers from 'USA'.

SQL
SELECT * FROM customers WHERE country = [1];
Drag options to blanks, or click blank then click option'
A'USA'
BUSA
C"USA"
D‘USA’
Attempts:
3 left
💡 Hint
Common Mistakes
Using no quotes or double quotes around string values.
Using fancy quotes like ‘ or ’ which are invalid.
4fill in blank
hard

Fill both blanks to select orders with quantity less than 10 and status 'pending'.

SQL
SELECT * FROM orders WHERE quantity [1] 10 AND status = [2];
Drag options to blanks, or click blank then click option'
A<
B>
C'pending'
D'completed'
Attempts:
3 left
💡 Hint
Common Mistakes
Using > instead of < for quantity.
Forgetting quotes around 'pending'.
5fill in blank
hard

Fill all three blanks to select employees whose age is greater than 30 and department is 'HR'.

SQL
SELECT name, age, department FROM employees WHERE age [1] 30 AND department = [2] ORDER BY [3];
Drag options to blanks, or click blank then click option'
A<
B>
C'HR'
Dage
Attempts:
3 left
💡 Hint
Common Mistakes
Using < instead of > for age.
Forgetting quotes around 'HR'.
Ordering by a wrong column.

Practice

(1/5)
1. Why is filtering data using the WHERE clause important in SQL?
easy
A. It automatically sorts the data alphabetically.
B. It changes the structure of the database tables.
C. It creates new tables from existing ones.
D. It helps retrieve only the rows that meet specific conditions.

Solution

  1. Step 1: Understand the purpose of filtering

    Filtering is used to select only the rows that match certain criteria from a table.
  2. Step 2: Identify what WHERE does

    The WHERE clause sets conditions to limit the rows returned by a query.
  3. Final Answer:

    It helps retrieve only the rows that meet specific conditions. -> Option D
  4. Quick Check:

    Filtering = Select specific rows [OK]
Hint: Remember: WHERE filters rows to get only what you need [OK]
Common Mistakes:
  • Thinking WHERE changes table structure
  • Confusing filtering with sorting
  • Believing WHERE creates new tables
2. Which of the following is the correct syntax to filter rows where the column age is greater than 30?
easy
A. SELECT * FROM table FILTER age > 30;
B. SELECT * FROM table HAVING age > 30;
C. SELECT * FROM table WHERE age > 30;
D. SELECT * FROM table WHERE age => 30;

Solution

  1. Step 1: Recall correct filtering syntax

    The WHERE clause is used with a condition like age > 30 to filter rows.
  2. Step 2: Check each option's syntax

    SELECT * FROM table WHERE age > 30; uses correct syntax. SELECT * FROM table FILTER age > 30; uses FILTER which is invalid in SQL. SELECT * FROM table HAVING age > 30; uses HAVING which is for groups, not rows. SELECT * FROM table WHERE age => 30; uses => which is invalid operator.
  3. Final Answer:

    SELECT * FROM table WHERE age > 30; -> Option C
  4. Quick Check:

    WHERE + condition = correct filter [OK]
Hint: Use WHERE with correct operators like >, =, < [OK]
Common Mistakes:
  • Using FILTER instead of WHERE
  • Using HAVING without GROUP BY
  • Using wrong comparison operators like =>
3. Given the table Employees with columns id, name, and salary, what will this query return?
SELECT name FROM Employees WHERE salary >= 50000;
medium
A. All employee names with salary equal to 50000 only
B. All employee names with salary greater than or equal to 50000
C. All employee names with salary less than 50000
D. All employee names regardless of salary

Solution

  1. Step 1: Understand the WHERE condition

    The condition salary >= 50000 selects employees with salary 50000 or more.
  2. Step 2: Analyze the SELECT clause

    The query selects only the name column for those filtered employees.
  3. Final Answer:

    All employee names with salary greater than or equal to 50000 -> Option B
  4. Quick Check:

    salary >= 50000 filters employees [OK]
Hint: >= means greater than or equal to, so includes 50000 [OK]
Common Mistakes:
  • Thinking >= means only equal
  • Confusing less than with greater than
  • Selecting all columns instead of just names
4. Identify the error in this SQL query:
SELECT * FROM Products WHERE price => 100;
medium
A. The comparison operator => is invalid in SQL.
B. The WHERE clause is missing.
C. The SELECT statement should specify columns.
D. The semicolon at the end is not allowed.

Solution

  1. Step 1: Check the comparison operator

    The operator => is not valid in SQL; the correct operator is >=.
  2. Step 2: Verify other parts of the query

    The WHERE clause is present, SELECT * is valid, and semicolon is allowed.
  3. Final Answer:

    The comparison operator => is invalid in SQL. -> Option A
  4. Quick Check:

    Use >=, not => for comparisons [OK]
Hint: Use >= for 'greater or equal', not => [OK]
Common Mistakes:
  • Using => instead of >=
  • Removing WHERE clause accidentally
  • Thinking semicolon is an error
5. You have a table Orders with columns order_id, customer_id, and status. You want to find all orders that are either 'shipped' or 'delivered'. Which query correctly filters these orders?
hard
A. SELECT * FROM Orders WHERE status = 'shipped' OR status = 'delivered';
B. SELECT * FROM Orders WHERE status = 'shipped' AND 'delivered';
C. SELECT * FROM Orders WHERE status IN (shipped, delivered);
D. SELECT * FROM Orders WHERE status = 'shipped', 'delivered';

Solution

  1. Step 1: Understand filtering for multiple values

    To filter rows where status is either 'shipped' or 'delivered', use OR or IN.
  2. Step 2: Analyze each option

    SELECT * FROM Orders WHERE status = 'shipped' OR status = 'delivered'; uses OR correctly. SELECT * FROM Orders WHERE status = 'shipped' AND 'delivered'; uses AND incorrectly. SELECT * FROM Orders WHERE status IN (shipped, delivered); omits quotes around strings, invalid syntax. SELECT * FROM Orders WHERE status = 'shipped', 'delivered'; has invalid syntax.
  3. Final Answer:

    SELECT * FROM Orders WHERE status = 'shipped' OR status = 'delivered'; -> Option A
  4. Quick Check:

    Use OR to combine conditions for filtering [OK]
Hint: Use OR or IN to filter multiple values [OK]
Common Mistakes:
  • Using AND instead of OR for multiple options
  • Incorrect syntax with commas in WHERE
  • Confusing IN syntax
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