Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed original-readme.docx
Binary file not shown.
8 changes: 8 additions & 0 deletions part1.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
--Write a query to display each customer’s name (asCustomer Name) alongside the name of the employee who is responsible for that customer’s orders.
--The employee name should be in a single Sales Rep column formatted as lastName, firstName. The output should be sorted alphabetically by customer name.

SELECT p.productName AS 'Product Name', o.quantityOrdered AS 'Total # Ordered', (o.quantityOrdered * o.priceEach) AS 'Total Sale'
FROM products AS p
INNER JOIN orderdetails as o
ON p.productCode=o.productCode
ORDER BY (o.quantityOrdered * o.priceEach) DESC;
11 changes: 11 additions & 0 deletions part2.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--Determine which products are most popular with our customers.
--For each product, list the total quantity ordered along with the total sale generated (total quantity ordered * priceEach) for that product.
--The column headers should be Product Name, Total # Ordered and Total Sale.
--List the products by Total Sale descending.


SELECT p.productName AS 'Product Name', o.quantityOrdered AS 'Total # Ordered', (o.quantityOrdered * o.priceEach) AS 'Total Sale'
FROM products AS p
INNER JOIN orderdetails as o
ON p.productCode=o.productCode
ORDER BY Total Sale DESC;
9 changes: 9 additions & 0 deletions part3.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
--Write a query which lists order status and the # of orders with that status.
--Column headers should be Order Status and # Orders.
--Sort alphabetically by status.

SELECT o.status AS 'Order Status', ord.quantityOrdered AS '# Orders'
FROM orderdetails as ord
INNER JOIN orders AS o
ON ord.orderNumber=o.orderNumber
ORDER BY o.status ASC;
9 changes: 9 additions & 0 deletions part4.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
--Write a query to list, for each product line, the total # of products sold from that product line.
--The first column should be Product Line and the second should be # Sold.
--Order by the second column descending.
-- COUNT
SELECT DISTINCT p.productLine AS 'Product Line', o.quantityOrdered AS '# Sold'
FROM products AS p
INNER JOIN orderdetails AS o
ON p.productCode=o.productCode
ORDER BY o.quantityOrdered DESC;
20 changes: 20 additions & 0 deletions part5.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
--For each employee who represents customers, output the total # of orders that employee’s customers have placed alongside the total sale amount of those orders.
--The employee name should be output as a single column named Sales Rep formatted as lastName, firstName.
--The second column should be titled # Orders and the third should be Total Sales.
--Sort the output by Total Sales descending.
--Only (and all) employees with the job title Sales Rep should be included in the output, and if the employee made no sales the Total Sales should display as 0.00.

SELECT CONCAT(e.lastName, ', ', e.firstName) AS 'Sales Rep', ord.quantityOrdered AS '# Orders', (ord.quantityOrdered * ord.priceEach) AS 'Total Sales'
COUNT (o.orderNumbers) AS totalOrders, IFNULL((sum(ord.quantityOrdered * ord.priceEach)), 0) AS 'Total Sales'
FROM employees AS e
LEFT JOIN customers AS c
ON e.employeeNumber=c.salesRepEmployeeNumber
FROM customers AS c
LEFT JOIN orders AS o
ON c.customerNumber=o.customerNumber
FROM orders AS o
LEFT JOIN orderdetails AS ord
ON o.orderNumber=ord.orderNumber
WHERE e.jobTitle='Sales Rep'
ORDER BY (ord.quantityOrdered * ord.priceEach) DESC
GROUP BY CONCAT(e.lastName, ', ', e.firstName)
9 changes: 9 additions & 0 deletions part6.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
--Your product team is requesting data to help them create a bar-chart of monthly sales since the company’s inception.
--Write a query to output the month (January, February, etc.), 4-digit year, and total sales for that month.
--The first column should be labeled Month, the second Year, and the third should be Payments Received.
--Values in the third column should be formatted as numbers with two decimals – for example: 694,292.68.

SELECT monthName(paymentDate) AS 'Month', EXTRACT(Year FROM paymentDate) AS 'Year', amount AS 'Payments Received'
FROM payments
GROUP BY monthName(paymentDate), Year
ORDER BY paymentDate ASC;