E-Commerce SQL Subquery Exercises with Analysis

SQL Subquery Exercise: E-Commerce Database

Consider an e-commerce database with the following relations:

  • Customers(CustomerID, Name, City)
  • Orders(OrderID, CustomerID, OrderDate)
  • Products(ProductID, ProductName, Price)
  • OrderDetails(OrderID, ProductID, Quantity)

Using subqueries, write SQL queries to answer the following questions. Provide a brief analysis or justification for each result.

Tasks

  1. Most Expensive Product Orders:
    • Find the customer(s) who ordered the most expensive product.
    • Explain why this information might be useful for marketing or promotions.
  2. High-Value Customers:
    • Find the names of customers who have placed orders with total amounts greater than the average order amount.
    • Analyze what this indicates about customer purchasing behavior.
  3. Regional Product Orders:
    • List the products ordered by customers from Dhaka.
    • Discuss what insights this could provide for regional sales analysis.
  4. City with Maximum Customers:
    • Identify the city that has the maximum number of customers.
    • Explain how this information can help in strategic business decisions, such as logistics or targeted marketing.
  5. Customers Who Ordered All Products:
    • Find the customers who ordered all products listed in the Products table.
    • Analyze what this implies about customer loyalty or engagement.

Instructions

  • Use subqueries wherever applicable.
  • Include a brief justification or analysis for each query result.
  • Present queries in a clear and structured format for readability.
  • Highlight how each query can help in business decision-making or provide customer insights.
SQL subquery exercises, e-commerce database SQL, Customers Orders Products, OrderDetails table, find high-value customers SQL, marketing insights SQL query, regional sales analysis SQL, customer loyalty SQL, e-commerce analytics, Oracle SQL subquery examples, SQL tutorial
E-Commerce SQL Subquery Exercises with Analysis

SQL Subquery Solutions: E-Commerce Database

Consider the e-commerce database with the following relations: Customers(CustomerID, Name, City), Orders(OrderID, CustomerID, OrderDate), Products(ProductID, ProductName, Price), OrderDetails(OrderID, ProductID, Quantity). Below are solutions using subqueries along with brief analyses.

1. Customers Who Ordered the Most Expensive Product

SELECT C.Name
FROM Customers C
WHERE C.CustomerID IN (
    SELECT O.CustomerID
    FROM Orders O
    JOIN OrderDetails OD ON O.OrderID = OD.OrderID
    WHERE OD.ProductID = (
        SELECT ProductID 
        FROM Products 
        WHERE Price = (SELECT MAX(Price) FROM Products)
    )
);
  

Analysis: Identifying customers who purchased the most expensive product helps target premium promotions and marketing campaigns.

2. Customers With Orders Above Average Total Amount

SELECT C.Name
FROM Customers C
WHERE C.CustomerID IN (
    SELECT O.CustomerID
    FROM Orders O
    WHERE (SELECT SUM(P.Price * OD.Quantity)
           FROM OrderDetails OD
           JOIN Products P ON OD.ProductID = P.ProductID
           WHERE OD.OrderID = O.OrderID) > 
          (SELECT AVG(TotalAmount) 
           FROM (
              SELECT SUM(P.Price * OD.Quantity) AS TotalAmount
              FROM Orders O2
              JOIN OrderDetails OD ON O2.OrderID = OD.OrderID
              JOIN Products P ON OD.ProductID = P.ProductID
              GROUP BY O2.OrderID
           ))
);
  

Analysis: Customers who spend above average are high-value customers, useful for loyalty programs and premium marketing.

3. Products Ordered by Customers from Dhaka

SELECT DISTINCT P.ProductName
FROM Products P
WHERE P.ProductID IN (
    SELECT OD.ProductID
    FROM OrderDetails OD
    JOIN Orders O ON OD.OrderID = O.OrderID
    JOIN Customers C ON O.CustomerID = C.CustomerID
    WHERE C.City = 'Dhaka'
);
  

Analysis: Regional product analysis helps optimize inventory, marketing campaigns, and promotions targeted to Dhaka customers.

4. City With Maximum Number of Customers

SELECT City
FROM Customers
WHERE (SELECT COUNT(*) FROM Customers C2 WHERE C2.City = Customers.City) = 
      (SELECT MAX(CityCount) 
       FROM (SELECT COUNT(*) AS CityCount FROM Customers GROUP BY City));
  

Analysis: Identifying the city with the most customers helps in strategic decisions like warehouse placement, regional marketing, and delivery logistics.

5. Customers Who Ordered All Products

SELECT C.Name
FROM Customers C
WHERE NOT EXISTS (
    SELECT P.ProductID
    FROM Products P
    WHERE NOT EXISTS (
        SELECT OD.ProductID
        FROM Orders O
        JOIN OrderDetails OD ON O.OrderID = OD.OrderID
        WHERE O.CustomerID = C.CustomerID
          AND OD.ProductID = P.ProductID
    )
);
  

Analysis: Customers who ordered all products demonstrate high engagement and loyalty, useful for VIP marketing campaigns and product feedback.

SQL subquery e-commerce, Customers Orders Products, OrderDetails table, high-value customers SQL, regional sales SQL query, marketing insights SQL, VIP customer analysis SQL, Oracle SQL subquery examples, SQL tutorial for business analytics, e-commerce analytics SQL

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন