diff --git a/E-Commerce/readme.md b/E-Commerce/readme.md index 37580cce..cf18915e 100644 --- a/E-Commerce/readme.md +++ b/E-Commerce/readme.md @@ -45,14 +45,75 @@ erDiagram Write SQL queries to complete the following tasks: -- [ ] List all the products whose name contains the word "socks" +- [x] List all the products whose name contains the word "socks" + +SELECT \* FROM products WHERE product_name ILIKE '%socks%'; + - [ ] List all the products which cost more than 100 showing product id, name, unit price, and supplier id + +SELECT p.id AS product_id, p.product_name, pa.unit_price, pa.supp_id AS supplier_id +FROM products p +JOIN product_availability pa ON p.id = pa.prod_id +WHERE pa.unit_price > 100; + - [ ] List the 5 most expensive products + +SELECT p.product_name, pa.unit_price +FROM products p +JOIN product_availability pa ON p.id = pa.prod_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 p.product_name, s.supplier_name +FROM products p +JOIN product_availability pa ON p.id = pa.prod_id +JOIN suppliers s ON pa.supp_id = s.id +WHERE s.country = 'United Kingdom'; + - [ ] List all orders, including order items, from customer named Hope Crosby + +SELECT o.id, + o.order_date, + o.order_reference, + p.product_name, + oi.quantity +FROM orders o +JOIN order_items oi ON o.id = oi.order_id +JOIN products p ON oi.product_id = p.id +JOIN customers c ON o.customer_id = c.id +WHERE c.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 p.product_name, pa.unit_price, oi.quantity +FROM orders o +JOIN order_items oi ON o.id = oi.order_id +JOIN products p ON oi.product_id = p.id +JOIN product_availability pa ON oi.product_id = pa.prod_id AND oi.supplier_id = pa.supp_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 AS customer_name, + o.order_reference, + o.order_date, + p.product_name, + s.supplier_name, + oi.quantity +FROM + customers c +JOIN + orders o ON c.id = o.customer_id +JOIN + order_items oi ON o.id = oi.order_id +JOIN + products p ON oi.product_id = p.id +JOIN + suppliers s ON oi.supplier_id = s.id; + ## Acceptance Criteria - [ ] The `cyf_ecommerce` database is imported and set up correctly