Consider a relation REPAYMENT with the following schema;
REPAYMENT(BORROWER_ID, NAME, ADDRESS, LOANAMOUNT, REQUESTDATE, REPAYMENT_DATE, REPAYMENT_AMOUNT)
Assume that this table records the repayment of loans by the borrowers. A borrower may have multiple entries if he/she has paid multiple installments.
Write SQL statements (queries) to achieve the following;
Question (a)
Find all the records with information on repayments from the borrower with id equal to 42, and where the lent amount exceeds 1000.
Answer (a)
SELECT *
FROM Repayment
WHERE borrower_id=42 AND loanamount>1000;
Question (b)
Find the total amount repaid for every address in the repayment table.
Answer (b)
SELECT address, SUM(repayment_amount)
FROM Repayment
GROUP BY address;
Question (c)
Delete all information on the completed loans. (Note: you can find the status of the loan by summing the total repaid amount. If the total repaid amount is equal to the loan amount, then you would say that the loan is ended.)
Answer (c)
DELETE FROM Repayment A
WHERE loanamount=
(SELECT SUM(repayment_amount)
FROM Repayment B
WHERE B.borrower_id=A.borrower_id AND B.requestdate=A.requestdate);
Question (d)
Find all the borrower names who has unique address. (ie., you should not count the borrowers who are from the same address)
Answer (d)
SELECT name
FROM Repayment A
WHERE 1=
(SELECT COUNT(DISTINCT name)
FROM Repayment B
WHERE A.address=B.address);
Question (e)
Find the total number of repayments made by every borrower.
Answer (e)
SELECT borrower_id, count(*)
FROM repayment
GROUP BY borrower_id;
*******************
No comments:
Post a Comment