You are on page 1of 3

-- Create tables

CREATE TABLE pbl_account (


ACC_NO VARCHAR(20),
BRANCH_NAME VARCHAR(50),
BALANCE INT
);
CREATE TABLE pbl_branch(
BRANCH_NAME VARCHAR(50),
BRANCH INT,
I_CITY VARCHAR(50),
ASSETS INT
);
CREATE TABLE pbl_customer (
CUST_NAME VARCHAR(50),
CUST_STREET VARCHAR(100),
CUST_CITY VARCHAR(50)
);
CREATE TABLE pbl_depositor (
CUST_NAME VARCHAR(50),
ACC_NO VARCHAR(20)
);
CREATE TABLE pbl_loan (
LOAN_NO INT,
BRANCH_NAME VARCHAR(50),
AMOUNT INT
);
CREATE TABLE pbl_borrower (
CUST_NAME VARCHAR(50),
LOAN_NO INT
);
-- Insert data
INSERT INTO pbl_account (ACC_NO, BRANCH_NAME, BALANCE) VALUES ('1111111111',
'Akurdi', 25000);
INSERT INTO pbl_account (ACC_NO, BRANCH_NAME, BALANCE) VALUES ('2222222222',
'Akurdi', 56000);
INSERT INTO pbl_account (ACC_NO, BRANCH_NAME, BALANCE) VALUES ('3333333333',
'Nigdi', 89000);
INSERT INTO pbl_account (ACC_NO, BRANCH_NAME, BALANCE) VALUES ('4444444444',
'Chinchwad', 109000);
INSERT INTO pbl_account (ACC_NO, BRANCH_NAME, BALANCE) VALUES ('5555555555',
'Chinchwad', 97000);
INSERT INTO pbl_account (ACC_NO, BRANCH_NAME, BALANCE) VALUES ('6666666666',
'Nigdi', 5000);
INSERT INTO pbl_account (ACC_NO, BRANCH_NAME, BALANCE) VALUES ('7777777777',
'Akurdi', 290000);
INSERT INTO pbl_account (ACC_NO, BRANCH_NAME, BALANCE) VALUES ('8888888888',
'Chinchwad', 23009);
INSERT INTO pbl_account (ACC_NO, BRANCH_NAME, BALANCE) VALUES ('9999999999',
'Nigdi', 890000);
INSERT INTO pbl_branch (BRANCH_NAME, BRANCH, I_CITY, ASSETS) VALUES ('Akurdi',
1000, 'Pune', NULL);
INSERT INTO pbl_branch (BRANCH_NAME, BRANCH, I_CITY, ASSETS) VALUES ('Nigdi',
2000, 'Pune', NULL);
INSERT INTO pbl_branch (BRANCH_NAME, BRANCH, I_CITY, ASSETS) VALUES
('Chinchwad', 1500, 'Pune', NULL);
INSERT INTO pbl_customer (CUST_NAME, CUST_STREET, CUST_CITY) VALUES ('Rohit K',
'Kalewadi', 'Pune');
INSERT INTO pbl_customer (CUST_NAME, CUST_STREET, CUST_CITY) VALUES
('Rajeshwari', 'Golande', 'Pune');
INSERT INTO pbl_customer (CUST_NAME, CUST_STREET, CUST_CITY) VALUES ('Yash J',
'Nagras rd', 'Pune');
INSERT INTO pbl_customer (CUST_NAME, CUST_STREET, CUST_CITY) VALUES
('Shubham', 'Savarkar', 'Nashik');
INSERT INTO pbl_customer (CUST_NAME, CUST_STREET, CUST_CITY) VALUES ('Piyush',
'Badnera', 'Amravati');
INSERT INTO pbl_customer (CUST_NAME, CUST_STREET, CUST_CITY) VALUES ('Monika',
'Benaam', 'Amravati');
INSERT INTO pbl_customer (CUST_NAME, CUST_STREET, CUST_CITY) VALUES ('Anand',
'Suranjandas', 'Zalki');
INSERT INTO pbl_customer (CUST_NAME, CUST_STREET, CUST_CITY) VALUES
('Prathamesh', 'Sai chowk', 'Pune');
INSERT INTO pbl_customer (CUST_NAME, CUST_STREET, CUST_CITY) VALUES ('Aryan',
'Balewadi', 'Pune');
INSERT INTO pbl_depositor (CUST_NAME, ACC_NO) VALUES ('Rohit K', '1111111111');
INSERT INTO pbl_depositor (CUST_NAME, ACC_NO) VALUES ('Yash J', '2222222222');
INSERT INTO pbl_depositor (CUST_NAME, ACC_NO) VALUES ('Rajeshwari', '4444444444');
INSERT INTO pbl_depositor (CUST_NAME, ACC_NO) VALUES ('Monika', '8888888888');
INSERT INTO pbl_depositor (CUST_NAME, ACC_NO) VALUES ('Aryan', '5555555555');
INSERT INTO pbl_loan (LOAN_NO, BRANCH_NAME, AMOUNT) VALUES (123, 'Akurdi',
2000);
INSERT INTO pbl_loan (LOAN_NO, BRANCH_NAME, AMOUNT) VALUES (456, 'Nigdi',
12000);
INSERT INTO pbl_loan (LOAN_NO, BRANCH_NAME, AMOUNT) VALUES (789, 'Akurdi',
20000);
INSERT INTO pbl_borrower (CUST_NAME, LOAN_NO) VALUES ('Piyush', 123);
INSERT INTO pbl_borrower (CUST_NAME, LOAN_NO) VALUES ('Shubham', 456);
INSERT INTO pbl_borrower (CUST_NAME, LOAN_NO) VALUES ('Rajeshwari', 789);
--Queries:
/* Find the names of all branches in loan relation: */
SELECT DISTINCT BRANCH_NAME FROM pbl_loan;
/*Find all loan numbers for loans made at Akurdi Branch with loan amount > 12000:
*/
SELECT LOAN_NO FROM pbl_loan WHERE BRANCH_NAME = 'Akurdi' AND AMOUNT >
12000;
/* Find all customers who have a loan from the bank. Find their names, loan_no, and
loan
amount: */
SELECT c.CUST_NAME, b.LOAN_NO, l.AMOUNT FROM pbl_customer c INNER JOIN
pbl_borrower b ON c.CUST_NAME = b.CUST_NAME INNER JOIN pbl_loan l ON b.LOAN_NO
= l.LOAN_NO;
/* List all customers in alphabetical order who have a loan from the Akurdi branch:
*/
SELECT DISTINCT c.CUST_NAME FROM pbl_customer c INNER JOIN pbl_borrower b ON
c.CUST_NAME = b.CUST_NAME INNER JOIN pbl_loan l ON b.LOAN_NO = l.LOAN_NO
WHERE l.BRANCH_NAME = 'Akurdi' ORDER BY c.CUST_NAME;
/* Find all customers who have an account or loan or both at the bank: */
SELECT DISTINCT CUST_NAME FROM ( SELECT CUST_NAME FROM pbl_depositor UNION
SELECT CUST_NAME FROM pbl_borrower ) AS Customers;
/* Find all customers who have both an account and a loan at the bank: */
SELECT CUST_NAME FROM pbl_depositor INTERSECT SELECT CUST_NAME FROM
pbl_borrower;
/* Find all customers who have an account but no loan at the bank: */
SELECT DISTINCT d.CUST_NAME FROM pbl_depositor d LEFT JOIN pbl_borrower b ON
d.CUST_NAME = b.CUST_NAME WHERE b.CUST_NAME IS NULL;
/* Find the average account balance at the Akurdi branch: */
SELECT AVG(BALANCE) AS AverageBalance FROM pbl_account WHERE BRANCH_NAME =
'Akurdi';
/* Find the average account balance at each branch: */
SELECT BRANCH_NAME, AVG(BALANCE) AS AverageBalance FROM pbl_account GROUP
BY BRANCH_NAME;
/* Find the number of depositors at each branch: */
SELECT BRANCH_NAME, COUNT(acc_no) from pbl_account
where acc_no in(SELECT acc_no from pbl_account)
group by branch_name;
/* Find the branches where the average account balance is greater than 12000: */
SELECT BRANCH_NAME FROM pbl_account GROUP BY BRANCH_NAME HAVING
AVG(BALANCE) > 12000;
/* Find the number of tuples in the customer relation: */
SELECT COUNT(*) AS NumberOfTuples FROM pbl_customer;
/* Calculate the total loan amount given by the bank: */
SELECT SUM(AMOUNT) AS TotalLoanAmount FROM pbl_loan;
/* Delete all loans with a loan amount between 1300 and 1500: */
DELETE FROM pbl_loan WHERE AMOUNT BETWEEN 1300 AND 1500;
/* Delete all tuples at every branch located in Nigdi: */
DELETE FROM pbl_branch WHERE I_CITY = 'Nigdi';

You might also like