From f20154d64ddb9c9a72e3bb4c05dc14cf05c8a94a Mon Sep 17 00:00:00 2001 From: Fatima Lukmani Date: Sat, 29 Nov 2025 10:58:19 -0500 Subject: [PATCH] SQL assignment1 added --- .../Farmers market logical model.drawio.png | Bin 0 -> 66256 bytes .../Cohort_8/assignment1/assignment1.sql | 160 ++++++++++++++++++ 2 files changed, 160 insertions(+) create mode 100644 02_activities/assignments/Cohort_8/assignment1/Farmers market logical model.drawio.png create mode 100644 02_activities/assignments/Cohort_8/assignment1/assignment1.sql diff --git a/02_activities/assignments/Cohort_8/assignment1/Farmers market logical model.drawio.png b/02_activities/assignments/Cohort_8/assignment1/Farmers market logical model.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..7f9cf740823efbe29d032554149e2b8bcaa0faf8 GIT binary patch literal 66256 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 literal 0 HcmV?d00001 diff --git a/02_activities/assignments/Cohort_8/assignment1/assignment1.sql b/02_activities/assignments/Cohort_8/assignment1/assignment1.sql new file mode 100644 index 000000000..4857e0d8a --- /dev/null +++ b/02_activities/assignments/Cohort_8/assignment1/assignment1.sql @@ -0,0 +1,160 @@ +/* ASSIGNMENT 1 */ +/* SECTION 2 */ + + +--SELECT +/* 1. Write a query that returns everything in the customer table. */ +SELECT * FROM customer; + + +/* 2. Write a query that displays all of the columns and 10 rows from the cus- tomer table, +sorted by customer_last_name, then customer_first_ name. */ +SELECT * +FROM customer +ORDER BY customer_last_name, customer_first_name +LIMIT 10; + + +--WHERE +/* 1. Write a query that returns all customer purchases of product IDs 4 and 9. */ +SELECT * +FROM purchases +WHERE product_id IN (4, 9); + + +/*2. Write a query that returns all customer purchases and a new calculated column 'price' (quantity * cost_to_customer_per_qty), +filtered by customer IDs between 8 and 10 (inclusive) using either: + 1. two conditions using AND + 2. one condition using BETWEEN +*/ +-- option 1 + SELECT *, + (quantity * cost_to_customer_per_qty) AS price +FROM customer_purchases +WHERE customer_id >= 8 + AND customer_id <= 10; + +-- option 2 +SELECT *, + (quantity * cost_to_customer_per_qty) AS price +FROM customer_purchases +WHERE customer_id BETWEEN 8 AND 10; + + +--CASE +/* 1. Products can be sold by the individual unit or by bulk measures like lbs. or oz. +Using the product table, write a query that outputs the product_id and product_name +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.” */ +SELECT + product_id, + product_name, + CASE + WHEN product_qty_type = 'unit' THEN 'unit' + ELSE 'bulk' + END AS prod_qty_type_condensed +FROM product; + + +/* 2. We want to flag all of the different types of pepper products that are sold at the market. +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. */ +SELECT *, + (quantity * cost_to_customer_per_qty) AS price, + CASE + WHEN LOWER(product_name) LIKE '%pepper%' THEN 1 + ELSE 0 + END AS pepper_flag +FROM customer_purchases +WHERE customer_id BETWEEN 8 AND 10; + + +--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 vendor_name, then market_date. */ +SELECT * +FROM vendor v +INNER JOIN vendor_booth_assignments vba + ON v.vendor_id = vba.vendor_id +ORDER BY v.vendor_name, vba.market_date; + + + +/* SECTION 3 */ + +-- AGGREGATE +/* 1. Write a query that determines how many times each vendor has rented a booth +at the farmer’s market by counting the vendor booth assignments per vendor_id. */ +SELECT + vendor_id, + COUNT(*) AS booth_rental_count +FROM vendor_booth_assignments +GROUP BY vendor_id; + + +/* 2. The Farmer’s Market Customer Appreciation Committee wants to give a bumper +sticker to everyone who has ever spent more than $2000 at the market. Write a query that generates a list +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. */ +SELECT + c.customer_id, + c.customer_last_name, + c.customer_first_name, + SUM(p.quantity * p.cost_to_customer_per_qty) AS total_spent +FROM customer c +JOIN customer_purchases p + ON c.customer_id = p.customer_id +GROUP BY + c.customer_id, + c.customer_last_name, + c.customer_first_name +HAVING SUM(p.quantity * p.cost_to_customer_per_qty) > 2000 +ORDER BY + c.customer_last_name, + c.customer_first_name; + + +--Temp Table +/* 1. Insert the original vendor table into a temp.new_vendor and then add a 10th vendor: +Thomass Superfood Store, a Fresh Focused store, owned by Thomas Rosenthal + +HINT: This is two total queries -- first create the table from the original, then insert the new 10th vendor. +When inserting the new vendor, you need to appropriately align the columns to be inserted +(there are five columns to be inserted, I've given you the details, but not the syntax) + +-> To insert the new row use VALUES, specifying the value you want for each column: +VALUES(col1,col2,col3,col4,col5) +*/ +CREATE TEMP TABLE temp.new_vendor AS +SELECT * +FROM vendor; + +INSERT INTO temp.new_vendor (vendor_id, vendor_name, vendor_type, vendor_description) +VALUES (10, 'Thomass Superfood Store', 'Fresh Focused', 'Owner: Thomas Rosenthal'); + + +-- Date +/*1. Get the customer_id, month, and year (in separate columns) of every purchase in the customer_purchases table. + +HINT: you might need to search for strfrtime modifers sqlite on the web to know what the modifers for month +and year are! */ +SELECT + customer_id, + STRFTIME('%m', purchase_date) AS purchase_month, + STRFTIME('%Y', purchase_date) AS purchase_year +FROM customer_purchases; + + +/* 2. Using the previous query as a base, determine how much money each customer spent in April 2022. +Remember that money spent is quantity*cost_to_customer_per_qty. + +HINTS: you will need to AGGREGATE, GROUP BY, and filter... +but remember, STRFTIME returns a STRING for your WHERE statement!! */ +SELECT + customer_id, + SUM(quantity * cost_to_customer_per_qty) AS total_spent +FROM customer_purchases +WHERE STRFTIME('%m', purchase_date) = '04' + AND STRFTIME('%Y', purchase_date) = '2022' +GROUP BY customer_id;