From 200ce091f0ebf55def0fce2e484ca34d517f17b2 Mon Sep 17 00:00:00 2001 From: Pedram Amani Date: Sun, 19 May 2024 14:34:02 +0100 Subject: [PATCH] E-commerce --- E-Commerce/readme.md | 48 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/E-Commerce/readme.md b/E-Commerce/readme.md index 37580cce..6da071cc 100644 --- a/E-Commerce/readme.md +++ b/E-Commerce/readme.md @@ -46,13 +46,61 @@ erDiagram Write SQL queries to complete the following tasks: - [ ] List all the products whose name contains the word "socks" + + select * from products where product_name like '%socks%'; + - [ ] List all the products which cost more than 100 showing product id, name, unit price, and supplier id + + SELECT pr.id AS product_id, pr.product_name, pa.unit_price, s.id AS supplier_id + FROM product_availability pa + JOIN products pr ON pa.prod_id = pr.id + JOIN suppliers s ON pa.supp_id = s.id + WHERE pa.unit_price > 100; + - [ ] List the 5 most expensive products + + SELECT pr.id as product_id, pr.product_name,pa.unit_price + FROM product_availability pa + JOIN products pr ON pa.prod_id = pr.id + ORDER BY pa.unit_price desc LIMIT 5; + - [ ] List all the products sold by suppliers based in the United Kingdom. The result should only contain the columns product_name and supplier_name + + SELECT pr.product_name, s.supplier_name + FROM suppliers s + JOIN product_availability pa ON pa.supp_id = s.id + JOIN products pr ON pr.id = pa.prod_id + WHERE s.country = 'United Kingdom'; + - [ ] List all orders, including order items, from customer named Hope Crosby + + SELECT orders.* ,order_items.* from orders + JOIN customers on customers.id = orders.customer_id + JOIN order_items on order_items.order_id = orders.id + join product_availability pa on order_items.product_id = pa.prod_id + AND order_items.supplier_id = pa.supp_id + WHERE customers.name = 'Hope Crosby'; + - [ ] List all the products in the order ORD006. The result should only contain the columns product_name, unit_price, and quantity + + select pr.product_name, pa.unit_price, oi.quantity + from products pr + join product_availability pa on pr.id = pa.prod_id + join order_items oi on pa.prod_id = oi.product_id + join orders o on o.id = oi.order_id + where o.order_reference = 'ORD006'; + - [ ] List all the products with their supplier for all orders of all customers. The result should only contain the columns name (from customer), order_reference, order_date, product_name, supplier_name, and quantity + select c.name, o.order_reference, o.order_date, pr.product_name, s.supplier_name, oi.quantity + from products pr + join product_availability pa on pr.id = pa.prod_id + join suppliers s on pa.supp_id = s.id + join order_items oi on oi.product_id = pa.prod_id + join orders o on o.id = oi.order_id + join customers c on c.id = o.customer_id; + + ## Acceptance Criteria - [ ] The `cyf_ecommerce` database is imported and set up correctly