diff --git a/README.md b/README.md index 4c8b1a5..f563f0b 100644 --- a/README.md +++ b/README.md @@ -35,22 +35,36 @@ Answer the following data queries. Keep track of the SQL you write by pasting it ### find all customers that live in London. Returns 6 records. > This can be done with SELECT and WHERE clauses - +SELECT * +FROM customers +WHERE city = 'London' ### find all customers with postal code 1010. Returns 3 customers. > This can be done with SELECT and WHERE clauses - +SELECT * +FROM customers +WHERE postal_code = '1010' ### find the phone number for the supplier with the id 11. Should be (010) 9984510. > This can be done with SELECT and WHERE clauses +SELECT phone +FROM suppliers +WHERE supplier_id = '11' ### list orders descending by the order date. The order with date 1998-05-06 should be at the top. > This can be done with SELECT, WHERE, and ORDER BY clauses +SELECT * +From orders +ORDER BY order_date DESC + ### find all suppliers who have names longer than 20 characters. You can use `length(company_name)` to get the length of the name. Returns 11 records. > This can be done with SELECT and WHERE clauses +SELECT * +FROM suppliers +WHERE length(company_name) > '20' ### find all customers that include the word 'MARKET' in the contact title. Should return 19 records. @@ -59,6 +73,9 @@ Answer the following data queries. Keep track of the SQL you write by pasting it > Don't forget the wildcard '%' symbols at the beginning and end of your substring to denote it can appear anywhere in the string in question > Remember to convert your contact title to all upper case for case insenstive comparing so upper(contact_title) +SELECT * +FROM customers +WHERE contact_title LIKE '%Market%' ### add a customer record for @@ -70,7 +87,8 @@ Answer the following data queries. Keep track of the SQL you write by pasting it * the postal code is '111' * the country is 'Middle Earth' > This can be done with the INSERT INTO clause - +INSERT INTO customers(customer_id, company_name, contact_name, address, city, postal_code, country) +VALUES ('SHIRE', 'The Shire', 'Bilbo Baggins', '1 Hobbit-Hole', 'Bag End', 111, 'Middle Earth' ) ### update _Bilbo Baggins_ record so that the postal code changes to _"11122"_. > This can be done with UPDATE and WHERE clauses @@ -80,15 +98,29 @@ Answer the following data queries. Keep track of the SQL you write by pasting it > This can be done with SELECT, COUNT, JOIN and GROUP BY clauses. Your count should focus on a field in the Orders table, not the Customer table > There is more information about the COUNT clause on [W3 Schools](https://www.w3schools.com/sql/sql_count_avg_sum.asp) - +SELECT c.company_name, COUNT(*) AS numOfOrders +FROM orders o +LEFT JOIN customers c +ON o.customer_id = c.customer_id +GROUP BY c.company_name ### list customers names and the number of orders per customer. Sort the list by number of orders in descending order. _Save-a-lot Markets should be at the top with 31 orders followed by _Ernst Handle_ with 30 orders. Last should be _Centro comercial Moctezuma_ with 1 order. > This can be done by adding an ORDER BY clause to the previous answer - +SELECT c.company_name, COUNT(*) AS numOfOrders +FROM orders o +LEFT JOIN customers c +ON o.customer_id = c.customer_id +GROUP BY c.company_name +ORDER BY numOfOrders DESC ### list orders grouped by customer's city showing number of orders per city. Returns 69 Records with _Aachen_ showing 6 orders and _Albuquerque_ showing 18 orders. > This is very similar to the previous two queries, however, it focuses on the City rather than the CustomerName - +SELECT c.city, COUNT(*) AS numOfOrders +FROM orders o +LEFT JOIN customers c +ON o.customer_id = c.customer_id +GROUP BY c.city +ORDER BY numOfOrders DESC ## Data Normalization