Bird
0
0

Identify the error in this query that uses a subquery:

medium📝 Debug Q6 of 15
SQL - Subqueries
Identify the error in this query that uses a subquery:

SELECT e.name FROM employees e WHERE e.department_id = (SELECT d.id FROM departments d WHERE d.name = 'Sales');
Assuming multiple departments can have the same name.
AThe subquery syntax is invalid.
BThe subquery returns multiple rows causing an error with '=' operator.
CThe main query is missing a JOIN clause.
DThe WHERE clause should use EXISTS instead of '='.
Step-by-Step Solution
Solution:
  1. Step 1: Analyze subquery result

    The subquery may return multiple department IDs if multiple departments are named 'Sales'.
  2. Step 2: Understand '=' operator limitation

    The '=' operator expects a single value, so multiple rows cause an error.
  3. Final Answer:

    The subquery returns multiple rows causing an error with '=' operator. -> Option B
  4. Quick Check:

    Multiple rows with '=' = error [OK]
Quick Trick: Use IN() for subqueries returning multiple rows [OK]
Common Mistakes:
MISTAKES
  • Using '=' when subquery returns multiple rows
  • Assuming subquery always returns one row
  • Ignoring error messages about subquery results

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes