diff --git a/files_for_lab/solutions.sql b/files_for_lab/solutions.sql new file mode 100644 index 0000000..4ad66a6 --- /dev/null +++ b/files_for_lab/solutions.sql @@ -0,0 +1,125 @@ +-- Exercise 1 +--### Query 1 + +--Get the `id` values of the first 5 clients from `district_id` with a value equals to 1. + +SELECT client_id FROM client +WHERE district_id=1 +LIMIT 5; + +--### Query 2 +--In the `client` table, get an `id` value of the last client where the `district_id` equals to 72. + +SELECT client_id FROM client +WHERE district_id=72 +ORDER BY client_id DESC +LIMIT 1; + +--### Query 3 +--Get the 3 lowest amounts in the `loan` table. + +SELECT amount +FROM loan +ORDER BY amount ASC +LIMIT 3; + +--## Query 4 +--## What are the possible values for `status`, ordered alphabetically in ascending order in the `loan` table? + +SELECT DISTINCT status +FROM loan +ORDER BY status ASC; + +--## Query 5 +SELECT account_id, amount +FROM loan +ORDER BY account_id ASC +LIMIT 5; + +--## Query 6 +-- What is the loan `amount` of the lowest 5 `account_id`s in the `loan` table? Show the `account_id` and the corresponding `amount` + +SELECT account_id, amount +FROM loan +ORDER BY account_id ASC +LIMIT 5; + +--##Query 7 +SELECT account_id +FROM loan +WHERE duration = 60 + AND amount = ( + SELECT MIN(amount) + FROM loan + WHERE duration = 60 + ); + +--##Query 8 +SELECT DISTINCT k_symbol +FROM `order` +ORDER BY k_symbol ASC; + +--##Query 9 +SELECT order_id +FROM `order` +WHERE account_id = 34 +ORDER BY order_id ASC; + +--##Query 10 +SELECT DISTINCT account_id +FROM `order` +WHERE order_id BETWEEN 29540 AND 29560 +ORDER BY account_id ASC; + +--##Query 11 +SELECT DISTINCT amount +FROM `order` +WHERE account_to = 30067122; + +--##QUERY 12 +SELECT trans_id, date, type, amount +FROM trans +WHERE account_id = 793 +ORDER BY date DESC, trans_id DESC +LIMIT 10; + +--##Query 13 +SELECT district_id, COUNT(*) AS number_of_clients +FROM client +WHERE district_id < 10 +GROUP BY district_id +ORDER BY district_id ASC; + +--##Query 14 +SELECT type, COUNT(*) AS number_of_cards +FROM card +GROUP BY type +ORDER BY number_of_cards DESC; + +--##Query 15 +SELECT account_id, SUM(amount) AS total_loan_amount +FROM loan +GROUP BY account_id +ORDER BY total_loan_amount DESC +LIMIT 10; + +--##QUERY 16 +SELECT date, COUNT(*) AS number_of_loans +FROM loan +WHERE date < 930907 +GROUP BY date +ORDER BY date DESC; + +--##QUERY 17 +SELECT date, duration, COUNT(*) AS number_of_loans +FROM loan +WHERE date BETWEEN 971201 AND 971231 +GROUP BY date, duration +ORDER BY date ASC, duration ASC; + +--##QUERY 18 +SELECT account_id, type, SUM(amount) AS total_amount +FROM trans +WHERE account_id = 396 +GROUP BY account_id, type +ORDER BY type ASC; \ No newline at end of file