From 593116ead1991d85cb85263aa27d0368b654b367 Mon Sep 17 00:00:00 2001 From: Andrada Date: Wed, 21 May 2025 16:42:26 -0400 Subject: [PATCH 1/3] Completed assignment 1.sql --- 02_activities/assignments/assignment1.sql | 87 +++++++++++++++++++---- 1 file changed, 75 insertions(+), 12 deletions(-) diff --git a/02_activities/assignments/assignment1.sql b/02_activities/assignments/assignment1.sql index 2e89fa7af..0bcc690d3 100644 --- a/02_activities/assignments/assignment1.sql +++ b/02_activities/assignments/assignment1.sql @@ -5,21 +5,28 @@ --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 *, quantity * cost_to_customer_per_qty AS price +FROM customer_purchases +WHERE vendor_id >= 8 AND vendor_id <= 10; /*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: @@ -31,6 +38,9 @@ filtered by vendor IDs between 8 and 10 (inclusive) using either: -- option 2 +SELECT *, quantity * cost_to_customer_per_qty AS price +FROM customer_purchases +WHERE vendor_id BETWEEN 8 AND 10; --CASE @@ -39,19 +49,41 @@ 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 +INNER JOIN vendor_booth_assignments + ON vendor.vendor_id = vendor_booth_assignments.vendor_id +ORDER BY vendor_name, market_date; /* SECTION 3 */ @@ -60,7 +92,9 @@ 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_rentals +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 +102,16 @@ 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(cp.quantity * cp.cost_to_customer_per_qty) AS total_spent +FROM customer c +JOIN customer_purchases cp ON c.customer_id = cp.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: @@ -81,8 +124,17 @@ When inserting the new vendor, you need to appropriately align the columns to be -> To insert the new row use VALUES, specifying the value you want for each column: VALUES(col1,col2,col3,col4,col5) */ - - +CREATE TEMP TABLE new_vendor AS +SELECT * FROM vendor; + +INSERT INTO temp.new_vendor +VALUES ( + 10, -- vendor_id + 'Thomass Superfood Store', -- vendor_name + 'Fresh Focused', -- vendor_category + 'Thomas Rosenthal', -- vendor_owner + NULL -- any additional column (e.g. contact_info) if applicable +); -- Date /*1. Get the customer_id, month, and year (in separate columns) of every purchase in the customer_purchases table. @@ -90,7 +142,11 @@ 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', 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. @@ -98,3 +154,10 @@ 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_april_2022 +FROM customer_purchases +WHERE STRFTIME('%m', purchase_date) = '04' + AND STRFTIME('%Y', purchase_date) = '2022' +GROUP BY customer_id; \ No newline at end of file From 6ad064adefc52b6c34259026626c173577b7453f Mon Sep 17 00:00:00 2001 From: Andrada Date: Wed, 21 May 2025 16:58:13 -0400 Subject: [PATCH 2/3] Part 1 of Assignment 1 --- Assignment 1.drawio | 40 ++++++++++++++++++++++++++++++++++++++++ Assignment1.drawio | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 Assignment 1.drawio create mode 100644 Assignment1.drawio diff --git a/Assignment 1.drawio b/Assignment 1.drawio new file mode 100644 index 000000000..225f1e095 --- /dev/null +++ b/Assignment 1.drawio @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Assignment1.drawio b/Assignment1.drawio new file mode 100644 index 000000000..225f1e095 --- /dev/null +++ b/Assignment1.drawio @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 9ad1ae984d90d4fbdd798e9c414fdf26f82f7063 Mon Sep 17 00:00:00 2001 From: Andrada Date: Wed, 21 May 2025 22:20:23 -0400 Subject: [PATCH 3/3] Part 1 Assignment 1 PNG file --- 02_activities/assignments/Assignment1.png | Bin 0 -> 35888 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 02_activities/assignments/Assignment1.png diff --git a/02_activities/assignments/Assignment1.png b/02_activities/assignments/Assignment1.png new file mode 100644 index 0000000000000000000000000000000000000000..853bb0004c941a255ff7007438b34f2e59d8f97a GIT binary patch literal 35888 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