Bird
0
0

Consider these two queries on tables orders and customers. Which one is likely to run faster on large datasets?

medium📝 query result Q4 of 15
SQL - Subqueries
Consider these two queries on tables orders and customers. Which one is likely to run faster on large datasets?

Query 1:
SELECT o.id FROM orders o WHERE o.customer_id IN (SELECT c.id FROM customers c WHERE c.status = 'active');
Query 2:
SELECT o.id FROM orders o JOIN customers c ON o.customer_id = c.id WHERE c.status = 'active';
ABoth queries have the same performance always.
BQuery 1 is faster because subqueries are optimized better.
CQuery 2 is faster because JOINs allow better optimization and indexing.
DQuery 1 is faster because it avoids JOIN overhead.
Step-by-Step Solution
Solution:
  1. Step 1: Analyze Query 1

    Query 1 uses a subquery in IN(), which may run the subquery once but can be less efficient on large data.
  2. Step 2: Analyze Query 2

    Query 2 uses a JOIN, which databases optimize well with indexes, often faster on large datasets.
  3. Final Answer:

    Query 2 is faster because JOINs allow better optimization and indexing. -> Option C
  4. Quick Check:

    JOIN optimization = Query 2 faster [OK]
Quick Trick: JOINs usually outperform subqueries on large tables [OK]
Common Mistakes:
MISTAKES
  • Assuming subqueries always run faster
  • Ignoring indexing benefits of JOINs
  • Believing IN() subqueries scale well always

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes