From 0cd31b2d3ea6eea171b9558b2bd12e3ee5e3fc81 Mon Sep 17 00:00:00 2001 From: GinaK Date: Wed, 5 Aug 2026 23:00:33 -0400 Subject: [PATCH] Assignment 1 Submission --- .../Microcredential_Cohort/assignment1.sql | 154 +++++++++++++----- .../Microcredential_Cohort/assignment_1_1.png | Bin 0 -> 26962 bytes 2 files changed, 110 insertions(+), 44 deletions(-) create mode 100644 02_activities/assignments/Microcredential_Cohort/assignment_1_1.png diff --git a/02_activities/assignments/Microcredential_Cohort/assignment1.sql b/02_activities/assignments/Microcredential_Cohort/assignment1.sql index 2ec561e2a..3d128ad22 100644 --- a/02_activities/assignments/Microcredential_Cohort/assignment1.sql +++ b/02_activities/assignments/Microcredential_Cohort/assignment1.sql @@ -6,20 +6,26 @@ --SELECT /* 1. Write a query that returns everything in the customer table. */ --QUERY 1 - - - - +SELECT +customer_id +,customer_first_name +,customer_last_name +,customer_postal_code +FROM customer; --END QUERY /* 2. Write a query that displays all of the columns and 10 rows from the customer table, sorted by customer_last_name, then customer_first_ name. */ --QUERY 2 - - - - +SELECT +customer_id +,customer_first_name +,customer_last_name +,customer_postal_code +FROM customer +WHERE customer_id BETWEEN 1 and 10 +ORDER BY customer_last_name, customer_first_name; --END QUERY @@ -27,10 +33,17 @@ sorted by customer_last_name, then customer_first_ name. */ /* 1. Write a query that returns all customer purchases of product IDs 4 and 9. Limit to 25 rows of output. */ --QUERY 3 - - - - +SELECT +product_id, +vendor_id, +market_date, +customer_id, +quantity, +cost_per_quantity, +transaction_time +FROM customer_purchases +WHERE customer_id BETWEEN 4 AND 9 +LIMIT 25; --END QUERY @@ -42,10 +55,18 @@ filtered by customer IDs between 8 and 10 (inclusive) using either: Limit to 25 rows of output. */ --QUERY 4 - - - - +SELECT +product_id +,vendor_id +,market_date +,customer_id +,quantity +,cost_per_quantity +,transaction_time +,quantity*cost_per_quantity AS 'price' +FROM customer_purchases +WHERE customer_id BETWEEN 8 and 10 +LIMIT 25; --END QUERY @@ -55,10 +76,13 @@ Using the product table, write a query that outputs the product_id and product_n columns and add a column called prod_qty_type_condensed that displays the word “unit” 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 @@ -66,26 +90,39 @@ if the product_qty_type is “unit,” and otherwise displays the word “bulk. add a column to the previous query called pepper_flag that outputs a 1 if the product_name 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 - --JOIN /* 1. Write a query that INNER JOINs the vendor table to the vendor_booth_assignments table on the vendor_id field they both have in common, and sorts the result by market_date, then vendor_name. Limit to 24 rows of output. */ --QUERY 7 - - - - +SELECT +vendor_name +,vendor_type +,vendor_owner_first_name +,vendor_owner_last_name +,booth_number +,market_date +,vendor.vendor_id +,vendor_booth_assignments.vendor_id +FROM vendor +INNER JOIN vendor_booth_assignments + ON vendor.vendor_id = vendor_booth_assignments.vendor_id +ORDER by market_date, vendor_name +LIMIT 24; --END QUERY - - /* SECTION 3 */ -- AGGREGATE @@ -93,8 +130,12 @@ Limit to 24 rows of output. */ at the farmer’s market by counting the vendor booth assignments per vendor_id. */ --QUERY 8 +SELECT +vendor_id +,COUNT(vendor_id) as rented_booth_count - +FROM vendor_booth_assignments +GROUP BY vendor_id; --END QUERY @@ -106,9 +147,18 @@ 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 +c.customer_first_name +,c.customer_last_name +,sum(cp.quantity*cp.cost_per_quantity) as total_spent +FROM customer_purchases as cp +INNER JOIN customer as c + ON c.customer_id = cp.customer_id +GROUP by c.customer_first_name, c.customer_last_name - +HAVING total_spent > 2000 +ORDER by c.customer_last_name, c.customer_first_name; --END QUERY @@ -124,10 +174,17 @@ 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 temp.new_vendor; +CREATE TABLE temp.new_vendor AS +SELECT +vendor_id, +vendor_name, +vendor_type, +vendor_owner_first_name, +vendor_owner_last_name +FROM vendor; +INSERT INTO new_vendor (vendor_id, vendor_name, vendor_type, vendor_owner_first_name, vendor_owner_last_name) +VALUES(10,'Thomass Superfood Store', 'a Fresh Focused store', 'Thomas', 'Rosenthal'); --END QUERY @@ -138,10 +195,12 @@ HINT: you might need to search for strfrtime modifers sqlite on the web to know and year are! Limit to 25 rows of output. */ --QUERY 11 - - - - +SELECT +customer_id +,strftime('%m', market_date) AS month +,strftime('%Y', market_date) AS year +from customer_purchases +LIMIT 25; --END QUERY @@ -152,8 +211,15 @@ HINTS: you will need to AGGREGATE, GROUP BY, and filter... 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_id +,strftime('%m', market_date) AS month +,strftime('%Y', market_date) AS year +,sum(quantity*cost_per_quantity) as money_spent +from customer_purchases + +WHERE month = '04' + AND year = '2022' +GROUP by customer_id, month, year; --END QUERY diff --git a/02_activities/assignments/Microcredential_Cohort/assignment_1_1.png b/02_activities/assignments/Microcredential_Cohort/assignment_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7ea3041afb35b144157c67264d32c8d34a896bf5 GIT binary patch literal 26962 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 Kl%FVCh5R2yBsv=a literal 0 HcmV?d00001