From d5f81869c1a19849f57f8f1d36c2d3cd42d7994f Mon Sep 17 00:00:00 2001 From: milassc Date: Tue, 5 May 2026 21:44:59 -0400 Subject: [PATCH] SQL Assignment one with ER diagram and SQL Assignment file --- .../Customer_CustomerPurchaseER.png | Bin 0 -> 76564 bytes .../Microcredential_Cohort/assignment1.sql | 83 +++++++++++++++--- 2 files changed, 69 insertions(+), 14 deletions(-) create mode 100644 02_activities/assignments/Microcredential_Cohort/Customer_CustomerPurchaseER.png diff --git a/02_activities/assignments/Microcredential_Cohort/Customer_CustomerPurchaseER.png b/02_activities/assignments/Microcredential_Cohort/Customer_CustomerPurchaseER.png new file mode 100644 index 0000000000000000000000000000000000000000..72b12b385acd48a1a11870da47ee0363149ec6d2 GIT binary patch literal 76564 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%0AA0@(|5j^`W7+Va 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 literal 0 HcmV?d00001 diff --git a/02_activities/assignments/Microcredential_Cohort/assignment1.sql b/02_activities/assignments/Microcredential_Cohort/assignment1.sql index 2ec561e2a..6f5494733 100644 --- a/02_activities/assignments/Microcredential_Cohort/assignment1.sql +++ b/02_activities/assignments/Microcredential_Cohort/assignment1.sql @@ -7,7 +7,7 @@ /* 1. Write a query that returns everything in the customer table. */ --QUERY 1 - +SELECT * FROM customer; --END QUERY @@ -17,8 +17,7 @@ sorted by customer_last_name, then customer_first_ name. */ --QUERY 2 - - +SELECT * FROM customer ORDER BY customer_last_name, customer_first_name LIMIT 10; --END QUERY @@ -28,6 +27,7 @@ sorted by customer_last_name, then customer_first_ name. */ Limit to 25 rows of output. */ --QUERY 3 +SELECT * FROM customer_purchases WHERE product_id IN (4,9) LIMIT 25; @@ -43,7 +43,8 @@ Limit to 25 rows of output. */ --QUERY 4 - +SELECT *, (quantity*cost_to_customer_per_qty) AS price FROM customer_purchases +WHERE customer_id BETWEEN 8 and 10 LIMIT 25; --END QUERY @@ -56,7 +57,11 @@ columns and add a column called prod_qty_type_condensed that displays the word if the product_qty_type is “unit,” and otherwise displays the word “bulk.” */ --QUERY 5 - +SELECT product_id, product_name, + CASE WHEN product_qty_type == 'unit' THEN 'unit' + ELSE 'bulk' + END AS prod_qty_type_condensed +FROM product; --END QUERY @@ -67,7 +72,14 @@ add a column to the previous query called pepper_flag that outputs a 1 if the pr contains the word “pepper” (regardless of capitalization), and otherwise outputs 0. */ --QUERY 6 - +SELECT product_id, product_name, + CASE WHEN product_qty_type == 'unit' THEN 'unit' + ELSE 'bulk' + END AS prod_qty_type_condensed, + CASE WHEN product_name like '%pepper%' THEN 1 + ELSE 0 + END AS pepper_flag +FROM product; --END QUERY @@ -79,6 +91,10 @@ vendor_id field they both have in common, and sorts the result by market_date, t Limit to 24 rows of output. */ --QUERY 7 +SELECT * FROM +vendor ven INNER JOIN vendor_booth_assignments venba +ON ven.vendor_id = venba.vendor_id +ORDER BY market_date, vendor_name LIMIT 24; @@ -93,7 +109,10 @@ Limit to 24 rows of output. */ at the farmer’s market by counting the vendor booth assignments per vendor_id. */ --QUERY 8 - +SELECT ven.vendor_name, count(venba.vendor_id) AS 'No of Times Booth rented' FROM +vendor ven INNER JOIN vendor_booth_assignments venba +ON ven.vendor_id = venba.vendor_id +GROUP BY vendor_name; --END QUERY @@ -106,8 +125,15 @@ of customers for them to give stickers to, sorted by last name, then first name. HINT: This query requires you to join two tables, use an aggregate function, and use the HAVING keyword. */ --QUERY 9 - - +SELECT cust.customer_last_name,cust.customer_first_name FROM customer cust +JOIN +( +SELECT cpurchases.customer_id +FROM customer_purchases cpurchases +GROUP BY cpurchases.customer_id HAVING sum(quantity * cost_to_customer_per_qty) > 2000 +) spent +ON cust.customer_id = spent.customer_id +ORDER BY cust.customer_last_name,cust.customer_first_name; --END QUERY @@ -124,10 +150,14 @@ When inserting the new vendor, you need to appropriately align the columns to be VALUES(col1,col2,col3,col4,col5) */ --QUERY 10 +DROP TABLE IF EXISTS new_vendor; +CREATE TEMP TABLE temp.new_vendor AS +SELECT * FROM vendor; +INSERT INTO temp.new_vendor (vendor_id, vendor_name,vendor_type, vendor_owner_first_name, vendor_owner_last_name) +VALUES (10, 'Thomass Superfood Store','Fresh Focused store','Thomas','Rosenthal'); - - +SELECT * FROM new_vendor; --END QUERY @@ -139,8 +169,23 @@ and year are! Limit to 25 rows of output. */ --QUERY 11 - - +SELECT customer_id, + CASE strftime('%m', market_date) + WHEN '01' THEN 'January' + WHEN '02' THEN 'February' + WHEN '03' THEN 'March' + WHEN '04' THEN 'April' + WHEN '05' THEN 'May' + WHEN '06' THEN 'June' + WHEN '07' THEN 'July' + WHEN '08' THEN 'August' + WHEN '09' THEN 'September' + WHEN '10' THEN 'October' + WHEN '11' THEN 'November' + WHEN '12' THEN 'December' + END AS 'month', + strftime('%Y', market_date) AS 'year' +FROM customer_purchases LIMIT 25; --END QUERY @@ -153,7 +198,17 @@ but remember, STRFTIME returns a STRING for your WHERE statement... AND be sure you remove the LIMIT from the previous query before aggregating!! */ --QUERY 12 - +SELECT customer_first_name, customer_last_name, spent.customer_spent +FROM customer cust +INNER JOIN +( +SELECT customer_id, + SUM(quantity*cost_to_customer_per_qty) AS customer_spent +FROM customer_purchases +WHERE strftime('%Y', market_date) = '2022' and strftime('%m', market_date) = '04' +GROUP BY customer_id +) spent +ON cust.customer_id = spent.customer_id; --END QUERY