From f97db775daafca4fa0c26f532efbfceabb653ae4 Mon Sep 17 00:00:00 2001 From: Armen Vartan Date: Sun, 12 Oct 2014 22:47:02 -0400 Subject: [PATCH] added py file to do queries --- exercises/2-sql/README.md | 17 +++++++++++++++++ exercises/2-sql/balance-sheets.sqlite3 | Bin 0 -> 57344 bytes exercises/2-sql/loan.py | 0 3 files changed, 17 insertions(+) create mode 100644 exercises/2-sql/README.md create mode 100644 exercises/2-sql/balance-sheets.sqlite3 create mode 100644 exercises/2-sql/loan.py diff --git a/exercises/2-sql/README.md b/exercises/2-sql/README.md new file mode 100644 index 0000000..92226b5 --- /dev/null +++ b/exercises/2-sql/README.md @@ -0,0 +1,17 @@ +Loan or No Loan? +================ + +Here is some people's last month bank statements. Query the database to answer the questions. Write methods to return all of the information to you. Don't do this manually. + +* How many people are there in the database? +* What is each persons salary (return their name and salary)? +* What is each persons net income? +* How about their highest expense? +* What percent of their salary did they spend? +* What was the average price of their expenses (don't include salary)? +* How many expenses did each person have? +* How many things did each person buy in the first week of the month? How much money did they spend? +* How about in the last week? +* Print everything bought between $40 and $60. +* Using the mortgage calculator you built before (some adjustments will need to be made), how large of a house could each person afford on a 15 year mortgage at 4%, if they plan on saving $200 a month (assuming they keep their jobs and spend the same amount). +* Write the database to a csv. diff --git a/exercises/2-sql/balance-sheets.sqlite3 b/exercises/2-sql/balance-sheets.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..c48c33bbb70366ccb71a3a1fa98fcba985cf8d40 GIT binary patch literal 57344 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