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
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 (as`Customer 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 customers.customerName AS 'Customer Name',
concat(employees.lastName,' ', employees.firstName) AS 'Sales Rep'
FROM customers, employees
WHERE customers.salesRepEmployeeNumber = employees.employeeNumber
ORDER BY customerName ASC;
12 changes: 12 additions & 0 deletions part2.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
-- * 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 productName AS 'Product Name',
orderdetails.quantityOrdered AS 'Total # Orders', (orderdetails.quantityOrdered * orderdetails.priceEach) AS 'Total Sale'
FROM products, orderdetails
ORDER BY (orderdetails.quantityOrdered * orderdetails.priceEach) desc;


8 changes: 8 additions & 0 deletions part3.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
-- * 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 quantityOrdered AS '# Orders', STATUS AS 'Orders Status'
from orderdetails, orders
ORDER BY 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.


SELECT productLine AS 'Product Line', quantityOrdered AS '# Sold' FROM products, orderdetails
WHERE products.productCode = orderdetails.productCode
ORDER BY quantityOrdered desc;
12 changes: 12 additions & 0 deletions part5.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
-- * 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(employees.lastName, ' ', employees.firstName) AS 'Sales Rep', orderdetails.quantityOrdered AS '# Order', payments.amount AS 'Total Sales'
FROM employees, orderdetails, payments, customers, orders
WHERE customers.salesRepEmployeeNumber = employees.employeeNumber AND customers.customerNumber = payments.customerNumber AND
orderdetails.orderNumber = orders.orderNumber ORDER BY payments.amount desc;

10 changes: 10 additions & 0 deletions part6.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

-- * 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 YEAR(paymentDate) AS Year, MONTH(paymentDate) AS Month, SUM(amount) AS 'Payment Received'
FROM payments
GROUP BY YEAR(paymentDate), MONTH(paymentDate);