From 384af060bd322718651b2a1562edf1f0d25fc88f Mon Sep 17 00:00:00 2001 From: Antonio Gao Date: Thu, 7 Aug 2025 14:20:52 -0400 Subject: [PATCH 1/2] Diagram for assignment --- 02_activities/assignments/Diagram.png | Bin 0 -> 15814 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 02_activities/assignments/Diagram.png diff --git a/02_activities/assignments/Diagram.png b/02_activities/assignments/Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..6610e8c8ce0e4f4cae79431dc957ac1b02ce5911 GIT binary patch literal 15814 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𝔲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 literal 0 HcmV?d00001 From 8a883e443b5b447cbf5b2cc5a2b25306646813be Mon Sep 17 00:00:00 2001 From: Antonio Gao Date: Sat, 9 Aug 2025 13:30:47 -0400 Subject: [PATCH 2/2] assigment 1 --- 02_activities/assignments/assignment1.sql | 81 ++++++++++++++++++----- 1 file changed, 65 insertions(+), 16 deletions(-) diff --git a/02_activities/assignments/assignment1.sql b/02_activities/assignments/assignment1.sql index 2e89fa7af..b29964d00 100644 --- a/02_activities/assignments/assignment1.sql +++ b/02_activities/assignments/assignment1.sql @@ -4,22 +4,24 @@ --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. */ -- option 1 - +SELECT * FROM customer_purchases +WHERE product_id in (4,9); -- option 2 - - +SELECT * FROM customer_purchases +WHERE product_id = 4 +or product_id = 9; /*2. Write a query that returns all customer purchases and a new calculated column 'price' (quantity * cost_to_customer_per_qty), filtered by vendor IDs between 8 and 10 (inclusive) using either: @@ -27,11 +29,15 @@ filtered by vendor IDs between 8 and 10 (inclusive) using either: 2. one condition using BETWEEN */ -- option 1 - +SELECT *,(quantity * cost_to_customer_per_qty) AS price +FROM customer_purchases +WHERE vendor_id >= 8 + AND vendor_id <= 10; -- option 2 - - +SELECT *,(quantity * cost_to_customer_per_qty) as price +FROM customer_purchases +WHERE vendor_id BETWEEN 8 AND 10; --CASE /* 1. Products can be sold by the individual unit or by bulk measures like lbs. or oz. @@ -39,19 +45,37 @@ 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.” */ - +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 product_id,product_name, +CASE +WHEN product_qty_type = 'unit' THEN 'unit' +ELSE 'bulk' +end as prod_qty_type_condensed, +CASE +WHEN lower(product_name) like '%pepper%' THEN 1 +ELSE 0 +end as pepper_flag +FROM product; --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 */ @@ -60,7 +84,10 @@ vendor_id field they both have in common, and sorts the result by vendor_name, t /* 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 @@ -68,7 +95,14 @@ 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_first_name,c.customer_last_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_first_name,c.customer_last_name +HAVING total_spent >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: @@ -83,6 +117,12 @@ VALUES(col1,col2,col3,col4,col5) */ +CREATE TEMP TABLE new_vendor AS +SELECT * +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', 'Fresh Focused store', 'Thomas ', 'Rosenthal'); + -- Date /*1. Get the customer_id, month, and year (in separate columns) of every purchase in the customer_purchases table. @@ -90,7 +130,10 @@ VALUES(col1,col2,col3,col4,col5) 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', market_date) AS month, +strftime('%Y', market_date) AS 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. @@ -98,3 +141,9 @@ 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('%Y', market_date) = '2022' +and strftime('%m', market_date) = '04' +group by customer_id;