Bird
0
0

You have two tables:

hard📝 Application Q15 of 15
SQL - INNER JOIN
You have two tables:

Orders
OrderID | CustomerID | Amount
1 | 101 | 50
2 | 102 | 75
3 | 103 | 100
4 | 101 | 25

Customers
CustomerID | Name
101 | John
102 | Jane
104 | Mike

Write an INNER JOIN query to find total order amount per customer name, including only customers with orders. Which query is correct?
ASELECT c.Name, SUM(o.Amount) FROM Customers c INNER JOIN Orders o ON c.CustomerID = o.CustomerID GROUP BY c.CustomerID;
BSELECT c.Name, SUM(o.Amount) FROM Orders o INNER JOIN Customers c ON o.CustomerID = c.CustomerID GROUP BY c.Name;
CSELECT c.Name, SUM(o.Amount) FROM Customers c LEFT JOIN Orders o ON c.CustomerID = o.CustomerID GROUP BY c.Name;
DSELECT c.Name, SUM(o.Amount) FROM Orders o INNER JOIN Customers c ON o.CustomerID = c.CustomerID GROUP BY o.CustomerID;
Step-by-Step Solution
Solution:
  1. Step 1: Understand requirement - total per customer with orders only

    INNER JOIN keeps only customers with matching orders; GROUP BY customer name to sum amounts.
  2. Step 2: Check query correctness

    SELECT c.Name, SUM(o.Amount) FROM Orders o INNER JOIN Customers c ON o.CustomerID = c.CustomerID GROUP BY c.Name; joins Orders to Customers on CustomerID and groups by c.Name, matching requirement exactly.
  3. Step 3: Compare other options

    SELECT c.Name, SUM(o.Amount) FROM Customers c INNER JOIN Orders o ON c.CustomerID = o.CustomerID GROUP BY c.CustomerID; groups by CustomerID but c.Name not grouped (SQL error). SELECT c.Name, SUM(o.Amount) FROM Customers c LEFT JOIN Orders o ON c.CustomerID = o.CustomerID GROUP BY c.Name; uses LEFT JOIN (includes customers without orders). SELECT c.Name, SUM(o.Amount) FROM Orders o INNER JOIN Customers c ON o.CustomerID = c.CustomerID GROUP BY o.CustomerID; groups by o.CustomerID (not customer name).
  4. Final Answer:

    SELECT c.Name, SUM(o.Amount) FROM Orders o INNER JOIN Customers c ON o.CustomerID = c.CustomerID GROUP BY c.Name; -> Option B
  5. Quick Check:

    INNER JOIN with GROUP BY customer name sums orders [OK]
Quick Trick: Join Orders to Customers, group by customer name for totals [OK]
Common Mistakes:
MISTAKES
  • Using LEFT JOIN includes customers without orders
  • Grouping by wrong column
  • Joining tables in wrong order causing confusion

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes