Bird
0
0

You want to list all customers and their orders, but some customers may have no orders. Which query is correct?

hard📝 Application Q9 of 15
SQL - LEFT and RIGHT JOIN
You want to list all customers and their orders, but some customers may have no orders. Which query is correct?
ASELECT Customers.name, Orders.id FROM Customers RIGHT JOIN Orders ON Customers.id = Orders.customer_id;
BSELECT Customers.name, Orders.id FROM Customers LEFT JOIN Orders ON Customers.id = Orders.customer_id;
CSELECT Customers.name, Orders.id FROM Orders LEFT JOIN Customers ON Orders.customer_id = Customers.id;
DSELECT Customers.name, Orders.id FROM Orders RIGHT JOIN Customers ON Orders.customer_id = Customers.id;
Step-by-Step Solution
Solution:
  1. Step 1: Identify which table to keep all rows from

    We want all customers listed, even if no orders, so keep all Customers rows.
  2. Step 2: Choose JOIN type

    LEFT JOIN keeps all rows from the left table (Customers) and matches from Orders.
  3. Step 3: Verify query syntax

    SELECT Customers.name, Orders.id FROM Customers LEFT JOIN Orders ON Customers.id = Orders.customer_id; uses Customers LEFT JOIN Orders ON Customers.id = Orders.customer_id, which is correct.
  4. Final Answer:

    SELECT Customers.name, Orders.id FROM Customers LEFT JOIN Orders ON Customers.id = Orders.customer_id; -> Option B
  5. Quick Check:

    Keep all customers = LEFT JOIN with Customers as left table [OK]
Quick Trick: LEFT JOIN keeps all left table rows, unmatched right columns NULL [OK]
Common Mistakes:
MISTAKES
  • Using RIGHT JOIN instead of LEFT JOIN
  • Swapping table order in JOIN
  • Assuming INNER JOIN keeps unmatched rows

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes