21
ADVANCED DBMS WORK SHEET I By G.BAKTAVATCHALAM (08MW03) TABLES: 1) create table deposit(actno varchar2(5),cname varchar2(18),bname varchar2(18),amount number(8,2),adate date); 2) create table branch(bname varchar2(18),city varchar2(18)); 3) create table customer(cname varchar2(18), city varchar2(18)); 4) create table borrow(loanno varchar2(5),cname varchar2(18),bname varchar2(18),amount number(8,2)); DEPOSIT TABLE: 1) insert into deposit values('100','Anil','VRCE',1000.00,'1-mar-95'); 2) insert into deposit values('101','Sunil','AJNI',5000.00,'4-jan-96'); 3) insert into deposit values('102','Mehul','KAROLBAGH',3500.00,'17-nov-95'); 4) insert into deposit values('104','Madhuri','CHANDNI',1200.00,'17-dec-95'); 5) insert into deposit values('105','Pramod','M.G.ROAD',3000.00,'27-mar-96'); 6) insert into deposit values('106','Sandip','ANDHERI',2000.00,'31-mar-96'); 7) insert into deposit values('107','Shivani','VIRAR',1000.00,'5-sep-95'); 8) insert into deposit values('108','Kranti','NEHRU PLACE',5000.00,'2-jul-95'); 9) insert into deposit values('109','Minu','POWAI',7000.00,'10-aug-95'); BRANCH TABLE: 1) insert into branch values('VRCE','Nagpur'); 2) insert into branch values('AJNI','Nagpur'); 3) insert into branch values('KAROLBAGH','Delhi'); 4) insert into branch values('CHANDNI','Delhi'); 5) insert into branch values('DHARAMPETH','Nagpur'); 6) insert into branch values('M.G.ROAD','Bangalore'); 7) insert into branch values('ANDHERI','Bombay'); 8) insert into branch values('VIRAR','Bombay'); 9) insert into branch values('NEHRU PLACE','Delhi'); 10) insert into branch values('POWAI','Bombay'); CUSTOMER TABLE: 1) insert into customer values('Anil','Calcutta'); 2) insert into customer values('Sunil','Delhi'); 3) insert into customer values('Mehul','Baroda'); 4) insert into customer values('Mandar','Patna'); 5) insert into customer values('Madhuri','Nagpur'); 6) insert into customer values('Pramod','Nagpur'); 7) insert into customer values('Sandip','Surat'); 8) insert into customer values('Shivani','Bombay'); 9) insert into customer values('Kranti','Bombay');

DBMS Worksheet

Embed Size (px)

DESCRIPTION

ADVANCED DBMS WORK SHEET PROBLEMS

Citation preview

Page 1: DBMS Worksheet

AADDVVAANNCCEEDD DDBBMMSS WWOORRKK SSHHEEEETT –– II By

GG..BBAAKKTTAAVVAATTCCHHAALLAAMM ((0088MMWW0033))

TABLES: 1) create table deposit(actno varchar2(5),cname varchar2(18),bname varchar2(18),amount number(8,2),adate date); 2) create table branch(bname varchar2(18),city varchar2(18)); 3) create table customer(cname varchar2(18), city varchar2(18)); 4) create table borrow(loanno varchar2(5),cname varchar2(18),bname varchar2(18),amount number(8,2)); DEPOSIT TABLE: 1) insert into deposit values('100','Anil','VRCE',1000.00,'1-mar-95'); 2) insert into deposit values('101','Sunil','AJNI',5000.00,'4-jan-96'); 3) insert into deposit values('102','Mehul','KAROLBAGH',3500.00,'17-nov-95'); 4) insert into deposit values('104','Madhuri','CHANDNI',1200.00,'17-dec-95'); 5) insert into deposit values('105','Pramod','M.G.ROAD',3000.00,'27-mar-96'); 6) insert into deposit values('106','Sandip','ANDHERI',2000.00,'31-mar-96'); 7) insert into deposit values('107','Shivani','VIRAR',1000.00,'5-sep-95'); 8) insert into deposit values('108','Kranti','NEHRU PLACE',5000.00,'2-jul-95'); 9) insert into deposit values('109','Minu','POWAI',7000.00,'10-aug-95'); BRANCH TABLE: 1) insert into branch values('VRCE','Nagpur'); 2) insert into branch values('AJNI','Nagpur'); 3) insert into branch values('KAROLBAGH','Delhi'); 4) insert into branch values('CHANDNI','Delhi'); 5) insert into branch values('DHARAMPETH','Nagpur'); 6) insert into branch values('M.G.ROAD','Bangalore'); 7) insert into branch values('ANDHERI','Bombay'); 8) insert into branch values('VIRAR','Bombay'); 9) insert into branch values('NEHRU PLACE','Delhi'); 10) insert into branch values('POWAI','Bombay'); CUSTOMER TABLE: 1) insert into customer values('Anil','Calcutta'); 2) insert into customer values('Sunil','Delhi'); 3) insert into customer values('Mehul','Baroda'); 4) insert into customer values('Mandar','Patna'); 5) insert into customer values('Madhuri','Nagpur'); 6) insert into customer values('Pramod','Nagpur'); 7) insert into customer values('Sandip','Surat'); 8) insert into customer values('Shivani','Bombay'); 9) insert into customer values('Kranti','Bombay');

Page 2: DBMS Worksheet

10) insert into customer values('Naren','Bombay'); BORROW TABLE: 1) insert into borrow values('201','Anil','VRCE',1000); 2) insert into borrow values('206','Mehul','AJNI',5000); 3) insert into borrow values('311','Sunil','DHARAMPETH',3000); 4) insert into borrow values('321','Madhuri','ANDHERI',2000); 5) insert into borrow values('375','Pramod','VIRAR',8000); 6) insert into borrow values('481','Kranti','NEHRU PLACE',3000);

QUERIES: 1) select * from deposit; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- --------- 100 Anil VRCE 1000 01-MAR-95 101 Sunil AJNI 5000 04-JAN-96 102 Mehul KAROLBAGH 3500 17-NOV-95 104 Madhuri CHANDNI 1200 17-DEC-95 105 Pramod M.G.ROAD 3000 27-MAR-96 106 Sandip ANDHERI 2000 31-MAR-96 107 Shivani VIRAR 1000 05-SEP-95 108 Kranti NEHRU PLACE 5000 02-JUL-95 109 Minu POWAI 7000 10-AUG-95 2) select * from borrow; LOANNO CNAME BNAME AMOUNT ---------- ------------------ ------------------ ---------- 201 Anil VRCE 1000 206 Mehul AJNI 5000 311 Sunil DHARAMPETH 3000 321 Madhuri ANDHERI 2000 375 Pramod VIRAR 2000 481 Kranti NEHRU PLACE 3000 3) select * from customer; CNAME CITY ------------------ ------------------ Anil Calcutta Sunil Delhi Mehul Baroda Mandar Patna Madhuri Nagpur Pramod Nagpur Sandip Surat Shivani Bombay Kranti Bombay Naren Bombay 4) select * from branch; BNAME CITY

Page 3: DBMS Worksheet

------------------ ------------------ VRCE Nagpur AJNI Nagpur KAROLBAGH Delhi CHANDNI Delhi DHARAMPETH Nagpur M.G.Road Bangalore ANDHERI Bombay VIRAR Bombay NEHRU PLACE Delhi POWAI Bombay 5) select actno, amount from deposit; ACTNO AMOUNT ----- ---------- 100 1000 101 5000 102 3500 104 1200 105 3000 106 2000 107 1000 108 5000 109 7000 6) select cname, actno from deposit; CNAME ACTNO ------------------ ----- Anil 100 Sunil 101 Mehul 102 Madhuri 104 Pramod 105 Sandip 106 Shivani 107 Kranti 108 Minu 109 7) select cname from customer; CNAME ------------------ Anil Sunil Mehul Mandar Madhuri Pramod Sandip Shivani Kranti Naren 8) select bname from branch;

Page 4: DBMS Worksheet

BNAME ------------------ VRCE AJNI KAROLBAGH CHANDNI DHARAMPETH M.G.Road ANDHERI VIRAR NEHRU PLACE POWAI 9) select cname from borrow; CNAME ------------------ Anil Mehul Sunil Madhuri Pramod Kranti 10) select cname from customer where city='Nagpur'; CNAME ------------------ Madhuri Pramod 11) select cname from deposit where amount>'4000'; CNAME ------------------ Sunil Kranti Minu 12) select adate from deposit where cname='Anil'; ADATE --------- 01-MAR-95 13) select bname from branch where city='Bombay'; BNAME ------------------ ANDHERI VIRAR POWAI 14) select cname from borrow where loanno='321';

Page 5: DBMS Worksheet

CNAME ------------------ Madhuri 15) select cname from deposit where bname='VRCE'; CNAME ------------------ Anil 16) select bname from branch where city='Delhi'; BNAME ------------------ KAROLBAGH CHANDNI NEHRU PLACE 17) select cname from deposit where adate>'1-DEC-95'; CNAME ------------------ Sunil Madhuri Pramod Sandip 18) select actno,amount from deposit where adate between '01-DEC-95' and '01-MAY-96'; ACTNO AMOUNT ----- ---------- 101 5000 104 1200 105 3000 106 2000 19) select city from branch where bname='KAROLBAGH'; CITY ------------------ Delhi 20) select * from deposit where cname='Anil'; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- --------- 100 Anil VRCE 1000 01-MAR-95

JOIN AND CARTESIAN PRODUCT: 1)GIVE NAME OF CUSTOMER HAVING LIVING CITY BOMBAY AND BRANCH CITY NAGPUR. QUERY: SELECT D1.CNAME,D1.BNAME,C1.CNAME,C1.CITY,B1.CITY,B1.BNAME FROM DEPOSIT D1,CUSTOMER C1,BRANCH B1 WHERE C1.CITY = 'BOMBAY' AND B1.CITY = 'NAGPUR' AND D1.CNAME = C1.CNAME AND D1.BNAME = B1.BNAME;

Page 6: DBMS Worksheet

2) GIVE NAME OF BORROWERS HAVING DEPOSIT AMOUNT GREATER THAN 1000 AND LOAN AMOUNT GREATER THAN 2000. QUERY: SELECT BR1.CNAME, BR1.AMOUNT, D1.CNAME, D1.AMOUNT FROM BORROW BR1,DEPOSIT D1 WHERE D1.CNAME = BR1.CNAME AND D1.AMOUNT > 1000 AND BR1.AMOUNT > 2000; CNAME AMOUNT CNAME AMOUNT ------------------ ---------- ------------------ -------------------------- KRANTI 3000 KRANTI 5000 MEHUL 5000 MEHUL 3500 PRAMOD 8000 PRAMOD 3000 SUNIL 3000 SUNIL 5000 3)GIVE NAME OF DEPOSITORS HAVING SAME BRANCH AS BRANCH OF SUNIL. QUERY: SELECT D1.CNAME FROM DEPOSIT D1 WHERE D1.BNAME IN (SELECT D2.BNAME FROM DEPOSIT D2 WHERE D2.CNAME = 'SUNIL'); CNAME ------------------ SUNIL 4)GIVE NAME OF BORROWERS HAVING LOAN AMOUNT GREATER THAN AMOUNT OF PRAMOD. QUERY: SELECT BR1.CNAME,BR1.AMOUNT FROM BORROW BR1 WHERE BR1.AMOUNT > ALL (SELECT BR2.AMOUNT FROM BORROW BR2 WHERE BR2.CNAME = 'PRAMOD'); NO ROWS SELECTED SELECT B.CNAME FROM BORROW B WHERE AMOUNT > (SELECT AMOUNT FROM BORROW WHERE CNAME='MADHURI' AND AMOUNT=2000.00); CNAME ---------------- MEHUL SUNIL PRAMOD KRANTI 5)GIVE NAME OF CUSTOMER LIVING IN SAME CITY WHERE BRANCH OF DEPOSITOR SUNIL IS LOCATED. QUERY: SELECT C.CNAME FROM CUSTOMER C WHERE C.CITY IN (SELECT B.CITY FROM BRANCH B WHERE B.BNAME IN (SELECT D.BNAME FROM DEPOSIT D WHERE D.CNAME='SUNIL')); CNAME ------------------ MADHURI PRAMOD 6)GIVE LOANNO,LOAN AMOUNT OF BORROWERS HAVING SAME BRANCH WHERE SUNIL IS HAVING BRANCH.

Page 7: DBMS Worksheet

QUERY: SELECT BR1.LOANNO,BR1.AMOUNT FROM BORROW BR1 WHERE BR1.BNAME (SELECT D1.BNAME FROM DEPOSIT D1 WHERE D1.CNAME = 'SUNIL'); LOANN AMOUNT ---------- ---------- 206 5000 7)GIVE LOANNO,LOAN AMOUNT,ACCOUNT NO,DEPOSIT AMOUNT OF CUSTOMER LIVING IN CITY NAGPUR. QUERY: SELECT BR1.LOANNO , BR1.AMOUNT , D1.ACTNO , D1.AMOUNT FROM DEPOSIT D1,BORROW BR1,CUSTOMER C1 WHERE C1.CNAME = D1.CNAME AND D1.CNAME = BR1.CNAME AND C1.CITY = 'NAGPUR' LOANN AMOUNT ACTNO AMOUNT ----- ---------- ----- ------------------ ---------------- 321 2000 104 1200 375 8000 105 3000 8)GIVE LOANNO,LOAN AMOUNT, ACCOUNT NO, DEPOSIT AMOUNT OF CUSTOMER HAVING BRANCH LOCATED AT BOMBAY. QUERY: SELECT B.LOANNO,B.AMOUNT,D.ACTNO,D.AMOUNT,D.CNAME,B.CNAME FROM BORROW B,DEPOSIT D WHERE D.BNAME IN (SELECT BNAME FROM BRANCH WHERE CITY='BOMBAY') AND D.BNAME=B.BNAME; LOANN AMOUNT ACTNO AMOUNT CNAME CNAME ----- ---------- ----- ---------- ------------------ ---------------------------------------- 321 2000 106 2000 SANDIP MADHURI 375 8000 107 1000 SHIVANI PRAMOD 9)GIVE LOANNO,LOAN AMOUNT,ACCOUNT NO,DEPOSIT AMOUNT,BRANCH NAME, BRANCH CITY AND LIVING CITY OF PRAMOD. QUERY: SELECT BR1.LOANNO , BR1.AMOUNT , D1.ACTNO , D1.AMOUNT , D1.BNAME ,B1.CTTY,C1.CITY FROM BORROW BR1,DEPOSIT D1 , BRANCH B1, CUSTOMER C1 WHERE C1.CNAME = 'PRAMOD' AND D1.CNAME = C1.CNAME AND D1.CNAME=BR1.CNAME AND D1.BNAME = B1.BNAME; LOANN AMOUNT ACTNO AMOUNT BNAME CITY CITY ----- ---------- ----- ---------- ------------------ ------------------ ------------------ --------------- 375 8000 105 3000 M.G.ROAD Bangalore Nagpur 10)GIVE DEPOSIT DETAILS AND LOAN DETAILS OF CUSTOMER IN SAME CITY WHERE PRAMOD IS LIVING. QUERY: SELECT D1.ACTNO , D1.CNAME,D1.BNAME ,D1.AMOUNT ,D1.ADATE , BR1.LOANNO , BR1.BNAME , BR1.AMOUNT FROM DEPOSIT D1 , BORROW BR1 , CUSTOMER C1 WHERE C1.CNAME = D1.CNAME AND D1.CNAME = BR1.CNAME AND C1.CITY IN (SELECT C2.CITY FROM CUSTOMER C2 WHERE C2.CNAME = 'PRAMOD'); ACTNO CNAME BNAME AMOUNT ADATE LOANN BNAME AMOUNT ----- ------------------ ------------------ ---------- --------- ----- ------------------ ---------- 104 MADHURI CHANDNI 1200 17-DEC-95 321 ANDHERI 2000

Page 8: DBMS Worksheet

105 PRAMOD M.G.ROAD 3000 27-MAR-96 375 VIRAR 8000 11)GIVE NAME OF DEPOSITORS HAVING SAME BRANCH CITY AS MR. SUNIL AND HAVING SAME LIVING CITY AS MR. ANIL. QUERY: SELECT D1.CNAME FROM DEPOSIT D1,CUSTOMER C1,BRANCH B1 WHERE D1.CNAME = C1.CNAME AND D1.BNAME = B1.BNAME AND B1.CITY IN (SELECT B2.CITY FROM BRANCH B2,DEPOSIT D2 WHERE D2.CNAME = 'SUNIL' AND D2.BNAME = B2.BNAME) AND C1.CITY IN (SELECT C2.CITY FROM CUSTOMER C2 WHERE C2.CNAME = 'ANIL'); CNAME ---------- ANIL 12) GIVE NAME OF DEPOSITORS HAVING AMOUNT GREATER THAN 1000 AND HAVING SAME LIVING CITY AS MR. PRAMOD. QUERY: SELECT D1.CNAME FROM DEPOSIT D1,CUSTOMER C1 , CUSTOMER C2 WHERE C1.CITY = C2.CITY AND C2.CNAME = 'PRAMOD' AND C1.CNAME = D1.CNAME AND D1.AMOUNT > 1000; CNAME --------------- MADHURI PRAMOD 13)GIVE CITY OF CUSTOMER HAVING BRANCH CITY SAME AS MR. PRAMOD. QUERY: SELECT C1.CITY FROM CUSTOMER C1,DEPOSIT D1,DEPOSIT D2,BRANCH B1,BRANCH B2 WHERE D1.BNAME=B1.BNAME AND D2.BNAME = B2.BNAME AND D2.CNAME = 'PRAMOD' AND B1.CITY = B2.CITY AND C1.CNAME = D1.CNAME; CITY ----------- NAGPUR 14)GIVE BRANCH CITY AND LIVING CITY OF PRAMOD. QUERY: SELECT B1.CITY , C1.CITY FROM BRANCH B1,CUSTOMER C1, DEPOSIT D1 WHERE C1.CNAME = 'PRAMOD' AND C1.CNAME = D1.CNAME AND D1.BNAME = B1.BNAME; CITY CITY ------------- ---- - ------------------ BANGALORE NAGPUR 15)GIVE BRANCH CITY OF SUNIL AND BRANCH CITY OF ANIL. QUERY: SELECT B1.CITY FROM DEPOSIT D1, BRANCH B1 WHERE D1.BNAME = B1.BNAME AND D1.CNAME IN (‘SUNIL’ ,'ANIL'); CITY --------- NAGPUR

Page 9: DBMS Worksheet

NAGPUR 16) GIVE LIVING CITY OF ANIL AND LIVING CITY OF SUNIL. QUERY: SELECT C1.CNAME, C1.CITY FROM CUSTOMER C1 WHERE C1.CNAME = 'ANIL' OR C1.CNAME = 'SUNIL'; CNAME CITY ------------------ ------------ ANIL CALCUTTA SUNIL DELHI

SET OPERATIONS: 1)LIST ALL THE CUSTOMER WHO ARE DEPOSITORS BUT NOT BORROWERS. QUERY:SELECT CNAME FROM DEPOSIT MINUS (SELECT CNAME FROM BORROW); CNAME ----------- MINU SANDIP SHIVANI 2)LIST ALL THE CUSTOMER WHO ARE DEPOSITORS AND BORROWERS. QUERY:SELECT CNAME FROM DEPOSIT UNION (SELECT CNAME FROM BORROW); CNAME ------------------ ANIL KRANTI MADHURI MEHUL MINU PRAMOD SANDIP SHIVANI SUNIL 3)LIST ALL THE CUSTOMER WITH THEIR AMOUNT WHO ARE BORROWERS OR DEPOSITORS AND LIVING IN CITY NAGPUR. QUERY:SELECT D1.CNAME,D1.AMOUNT FROM DEPOSIT D1, CUSTOMER C1 WHERE C1.CITY = 'NAGPUR' AND D1.CNAME = C1.CNAME UNION ALL (SELECT BR1.CNAME,BR1.AMOUNT FROM BORROW BR1, CUSTOMER C2 WHERE C2.CITY = 'NAGPUR' AND BR1.CNAME=C2.CNAME); CNAME AMOUNT ------------------ ---------- MADHURI 1200 PRAMOD 3000 MADHURI 2000 PRAMOD 8000 4)LIST ALL THE DEPOSITORS HAVING DEPOSIT IN ALL THE BRANCHES WHERE SUNIL IS HAVING BRANCHES.

Page 10: DBMS Worksheet

QUERY:SELECT D1.CNAME FROM DEPOSIT D1 WHERE D1.BNAME IN (SELECT D2.BNAME FROM DEPOSIT D2 WHERE D2.CNAME = 'SUNIL' ); CNAME ----------- SUNIL 5)LIST ALL THE CUSTOMER LIVING IN CITY NAGPUR AND HAVING BRANCH CITY BOMBAY OR DELHI. QUERY: SELECT C1.CNAME FROM CUSTOMER C1,DEPOSIT D1, BRANCH B1 WHERE C1.CITY = 'NAGPUR' AND C1.CNAME = D1.CNAME AND D1.BNAME = B1.BNAME AND B1.CITY IN ('BOMBAY','DELHI'); CNAME ----------- MADHURI 6)LIST ALL THE CUSTOMER NAME AMOUNT OF DEPOSITOR LIVING IN CITY WHERE ANIL OR SUNIL IS LIVING. QUERY:SELECT D1.CNAME , D1.AMOUNT FROM DEPOSIT D1, CUSTOMER C1 WHERE C1.CNAME = D1.CNAME AND C1.CITY IN (SELECT C2.CITY FROM CUSTOMER C2 WHERE C2.CNAME IN ('SUNIL','ANIL')); CNAME AMOUNT ------------------ ---------- ANIL 1000 SUNIL 5000 7)LIST AMOUNT OF DEPOSITORS LIVING IN CITY WHERE ANIL IS LIVING. QUERY:

SELECT D1.AMOUNT FROM DEPOSIT D1, CUSTOMER C1 WHERE D1.CNAME = C1.CNAME AND C1.CITY IN (SELECT C2.CITY FROM CUSTOMER C2 WHERE C2.CNAME = 'Anil');

AMOUNT ------------------ 1000 8)LIST THE CITIES WHICH ARE BRANCH CITY OF ANIL OR LIVING CITY OF SUNIL. QUERY:SELECT B1.CITY FROM BRANCH B1,DEPOSIT D1 WHERE D1.CNAME IN ('ANIL') AND D1.BNAME = B1.BNAME UNION (SELECT C1.CITY FROM CUSTOMER C1 WHERE C1.CNAME IN ('SUNIL')); CITY ------------- DELHI NAGPUR 9) LIST ALL THE CITIES WHERE BRANCHES OF ANIL AND SUNIL IS LOCATED. QUERY:SELECT B1.CITY FROM BRANCH B1 WHERE B1.BNAME IN (SELECT D1.BNAME FROM DEPOSIT D1 WHERE D1.CNAME IN ('ANIL','SUNIL')); CITY

Page 11: DBMS Worksheet

------------ NAGPUR NAGPUR 10)LIST THE CUSTOMER WHO ARE BORROWERS AND DEPOSITORS AND HAVING SAME BRANCH CITY AS MR. ANIL. QUERY:SELECT C1.CNAME FROM CUSTOMER C1,DEPOSIT D1 , BRANCH B1 WHERE C1.CNAME IN ((SELECT BR1.CNAME FROM BORROW BR1) INTERSECT (SELECT D2.CNAME FROM DEPOSIT D2)) AND D1.CNAME = C1.CNAME AND D1.BNAME = B1.BNAME AND B1.CITY IN (SELECT B2.CITY FROM DEPOSIT D3 , BRANCH B2 WHERE D3.CNAME = 'ANIL' AND D3.BNAME = B2.BNAME); CNAME -------- ANIL SUNIL

AGGREGATE FUNCTIONS: 1) LIST TOTAL LOAN. QUERY:SELECT SUM (AMOUNT) FROM BORROW; SUM(AMOUNT) ----------- 22000 2)LIST TOTAL DEPOSIT OF CUSTOMER LIVING IN CITY NAGPUR. QUERY:SELECT SUM(D1.AMOUNT) FROM DEPOSIT D1 , CUSTOMER C1 WHERE C1.CITY = 'NAGPUR' AND C1.CNAME = D1.CNAME; SUM(D1.AMOUNT) -------------- 4200 3)LIST MAXIMUM DEPOSIT OF CUSTOMER LIVING IN BOMBAY. QUERY:SELECT MAX(D1.AMOUNT) FROM DEPOSIT D1 , CUSTOMER C1 WHERE C1.CITY = 'Bombay' AND C1.CNAME = D1.CNAME;

MAX(D1.AMOUNT) -------------- 5000 4) LIST TOTAL DEPOSIT OF CUSTOMER LIVING IN SAME CITY WHERE SUNIL IS LIVING. QUERY:SELECT SUM(D1.AMOUNT) FROM DEPOSIT D1,CUSTOMER C1 WHERE D1.CNAME=C1.CNAME AND C1.CITY IN (SELECT C2.CITY FROM CUSTOMER C2 WHERE C2.CNAME = 'Sunil'); SUM(D1.AMOUNT) -------------- 5000 5)COUNT TOTAL NUMBER OF BRANCH CITIES. QUERY:SELECT COUNT(DISTINCT (CITY)) FROM BRANCH ;

Page 12: DBMS Worksheet

COUNT(DISTINCT(CITY)) -------------------------------------- 4 6)GIVE BRANCH NAME AND BRANCHWISE DEPOSIT. QUERY:SELECT BNAME , SUM(AMOUNT) FROM DEPOSIT GROUP BY BNAME; BNAME SUM(AMOUNT) ------------------ ------------------------ AJNI 5000 ANDHERI 2000 CHANDNI 1200 KAROLBAGH 3500 M.G.ROAD 3000 NEHRU PLACE 5000 POWAI 7000 VIRAR 1000 VRCE 1000 7)GIVE CITY NAME AND CITYWISE DEPOSIT. QUERY:SELECT C1.CITY , SUM(D1.AMOUNT) FROM CUSTOMER C1 , DEPOSIT D1 WHERE D1.CNAME = C1.CNAME GROUP BY C1.CITY; CITY SUM(D1.AMOUNT) ------------------ ------------------------- BARODA 3500 BOMBAY 6000 CALCUTTA 1000 DELHI 5000 NAGPUR 4200 SURAT 2000 8)GIVE MAXIMUM LOAN FROM BRANCH VRCE. QUERY:SELECT MAX(AMOUNT) FROM BORROW WHERE BNAME ='VRCE'; MAX(AMOUNT) -------------------- 1000 9) GIVE LIVING CITYWISE LOAN OF BORROWERS. QUERY:SELECT SUM(BR1.AMOUNT) FROM BORROW BR1, CUSTOMER C1 WHERE C1.CNAME =BR1.CNAME GROUP BY C1.CITY; SUM(BR1.AMOUNT) --------------- 5000 3000 1000 3000

Page 13: DBMS Worksheet

10000 10) GIVE NUMBER OF CUSTOMER WHO ARE DEPOSITORS AND BORROWERS. QUERY:SELECT COUNT(DISTINCT (CNAME)) FROM CUSTOMER WHERE CNAME IN

((SELECT CNAME FROM DEPOSIT) INTERSECT (SELECT CNAME FROM BORROW)); COUNT(DISTINCT(CNAME)) --------------------------------------- 6

GROUP BY AND HAVING FUNCTION: 1)LIST THE BRANCHES HAVING SUM OF DEPOSIT MORE THAN 50000. QUERY:SELECT BNAME FROM DEPOSIT GROUP BY BNAME HAVING SUM(AMOUNT) > 5000; BNAME ----------- POWAI 2)LIST THE BRANCHES HAVING SUM OF DEPOSIT MORE THAN 50000 AND LOCATED IN CITY BOMBAY. QUERY:SELECT D1.BNAME FROM DEPOSIT D1, BRANCH B1 WHERE D1.BNAME = B1.BNAME AND B1.CITY ='BOMBAY' GROUP BY D1.BNAME HAVING SUM(D1.AMOUNT) > 5000; BNAME ----------- POWAI 3)LIST THE NAME OF CUSTOMER HAVING MAXIMUM DEPOSIT. QUERY:SELECT D1.CNAME FROM DEPOSIT D1 WHERE D1.AMOUNT IN (SELECT MAX(D2.AMOUNT) FROM DEPOSIT D2); CNAME ----------- MINU 4) LIST THE NAME OF BRANCH HAVING HIGHEST NUMBER OF DEPOSITORS. QUERY:SELECT D1.BNAME FROM DEPOSIT D1 GROUP BY D1.BNAME HAVING COUNT(D1.CNAME) > = ALL (SELECT COUNT(D2.CNAME) FROM DEPOSIT D2 GROUP BY D2.BNAME); BNAME ------------------ AJNI ANDHERI CHANDNI KAROLBAGH M.G.ROAD NEHRU PLACE POWAI VIRAR VRCE

Page 14: DBMS Worksheet

9 rows selected. 5) COUNT THE NUMBER OF DEPOSITORS LIVING IN NAGPUR. QUERY:SELECT COUNT (D2.CNAME) FROM DEPOSIT D2, CUSTOMER C1 WHERE C1.CITY = 'Nagpur' AND C1.CNAME = D2.CNAME; COUNT(D2.CNAME) --------------------------- 2 6) GIVE NAME OF CUSTOMER HAVING HIGHEST DEPOSIT IN THE CITY WHERE BRANCH OF SUNIL IS LOCATED. QUERY:SELECT D1.CNAME FROM DEPOSIT D1, BRANCH B1 WHERE D1.BNAME = B1.BNAME AND D1.AMOUNT >=ALL (SELECT D2.AMOUNT FROM DEPOSIT D2, BRANCH B2 WHERE D2.CNAME = 'SUNIL' AND D2.BNAME = B2.BNAME AND B1.BNAME = B2.BNAME); CNAME ------------------ SUNIL SANDIP MADHURI MEHUL PRAMOD KRANTI MINU SHIVANI ANIL 9 rows selected. 7) GIVE NAME OF CUSTOMER HAVING MORE DEPOSIT THAN THE AVERAGE DEPOSIT IN THEIR RESPECTIVE BRANCHES. QUERY:SELECT D1.CNAME FROM DEPOSIT D1 WHERE D1.AMOUNT >= ALL (SELECT AVG(D2.AMOUNT) FROM DEPOSIT D2 WHERE D1.BNAME = D2.BNAME GROUP BY D2.BNAME); CNAME ----------------- ANIL SUNIL MEHUL MADHURI PRAMOD SANDIP SHIVANI KRANTI MINU 9 rows selected. 8) GIVE NAME OF CITY HAVING MORE CUSTOMER LIVING THAN NAGPUR.

Page 15: DBMS Worksheet

QUERY:SELECT C1.CITY FROM CUSTOMER C1 GROUP BY C1.CITY HAVING COUNT (C1.CNAME) > ALL (SELECT COUNT(C2.CNAME) FROM CUSTOMER C2 WHERE C2.CITY = 'NAGPUR'); CITY ----------- BOMBAY 9) GIVE NAME OF BRANCHES HAVING NUMBER OF DEPOSITORS MORE THAN NUMBER OF BORROWERS. QUERY:SELECT D1.BNAME FROM DEPOSIT D1 GROUP BY D1.BNAME HAVING COUNT(D1.CNAME) > ALL (SELECT COUNT(BR1.CNAME) FROM BORROW BR1 WHERE BR1.BNAME = D1.BNAME GROUP BY BR1.BNAME); BNAME ----------- CHANDNI KAROLBAGH M.G.ROAD POWAI 10) GIVE NAME OF CUSTOMER LIVING IN SAME CITY WHERE MAXIMUM DEPOSITORS ARE LOCATED. QUERY:SELECT C1.CNAME FROM CUSTOMER C1 WHERE C1.CITY IN (SELECT C2.CITY FROM DEPOSIT D1, CUSTOMER C2 WHERE C2.CNAME = D1.CNAME GROUP BY C2.CITY HAVING COUNT(D1.CNAME) >= ALL (SELECT COUNT(D2.CNAME) FROM DEPOSIT D2,CUSTOMER C3 WHERE D2.CNAME = C3.CNAME GROUP BY C3.CITY)); CNAME --------------- SHIVANI KRANTI NAREN MADHURI PRAMOD

UPDATE QUERIES: 1)GIVE 10% INTEREST TO ALL DEPOSITORS. QUERY:UPDATE DEPOSIT SET AMOUNT = AMOUNT * 1.1; 9 rows updated. SQL> SELECT * FROM DEPOSIT; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- ------------------------------ 100 ANIL VRCE 1100 01-MAR-95 101 SUNIL AJNI 5500 04-JAN-96 102 MEHUL KAROLBAGH 3850 17-NOV-95 104 MADHURI CHANDNI 1320 17-DEC-95 105 PRAMOD M.G.ROAD 3300 27-MAR-96 106 SANDIP ANDHERI 2200 31-MAR-96 107 SHIVANI VIRAR 1100 05-SEP-95

Page 16: DBMS Worksheet

108 KRANTI NEHRU PLACE 5500 02-JUL-95 109 MINU POWAI 7700 10-AUG-95 9 rows selected. 2)GIVE 10% INTEREST TO ALL DEPOSITORS HAVING BRANCH VRCE. QUERY:UPDATE DEPOSIT SET AMOUNT = AMOUNT * 1.1 WHERE BNAME = 'VRCE'; 1 row updated. SQL> SELECT * FROM DEPOSIT WHERE BNAME = 'VRCE'; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- ---------------------------------- 100 ANIL VRCE 1210 01-MAR-95 3)GIVE 10% INTEREST TO ALL DEPOSITORS LIVING IN NAGPUR. QUERY:UPDATE DEPOSIT SET AMOUNT = AMOUNT * 1.1 WHERE CNAME IN (SELECT CNAME FROM CUSTOMER WHERE CITY = 'NAGPUR'); 2 rows updated. SQL> SELECT * FROM DEPOSIT WHERE CNAME IN (SELECT CNAME FROM CUSTOMER WHERE CITY = 'NAGPUR'); ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- --------- 104 MADHURI CHANDNI 1452 17-DEC-95 105 PRAMOD M.G.ROAD 3630 27-MAR-96 4) ADD TO DEPOSIT OF ANIL HUNDRED RUPEES AND ASSIGN IT TO SUNIL. QUERY:UPDATE DEPOSIT SET AMOUNT = ( SELECT AVG(AMOUNT) FROM DEPOSIT WHERE CNAME = 'Anil') WHERE CNAME = 'Sunil'; 1 row updated. UPDATE DEPOSIT SET AMOUNT = AMOUNT + 100 WHERE CNAME = 'Sunil'; 1 row updated. UPDATE DEPOSIT SET AMOUNT = AMOUNT + 100 WHERE CNAME = 'Anil'; 1 row updated. 6)CHANGE THE DEPOSIT OF VRCE BRANCH TO 1000 AND CHANGE THE BRANCH AS VRCE_AMBAZARI. QUERY:UPDATE DEPOSIT SET AMOUNT = 1000,BNAME = 'VRCE_AMBAZARI' WHERE BNAME = 'VRCE'; 1 row updated.

Page 17: DBMS Worksheet

SQL> SELECT * FROM DEPOSIT WHERE BNAME = 'VRCE_AMBAZARI'; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- ---------------------------- 100 Anil VRCE_AMBAZARI 1000 01-MAR-95 7) UPDATE DEPOSIT OF ANIL , GIVE HIM MAXIMUM DEPOSIT FROM DEPOSITORS IN LIVING CITY NAGPUR. QUERY:UPDATE DEPOSIT SET AMOUNT = (SELECT MAX(AMOUNT) FROM DEPOSIT, CUSTOMER WHERE DEPOSIT.CNAME = CUSTOMER.CNAME AND CUSTOMER.CITY= 'Nagpur')WHERE CNAME = 'Anil'; 1 row updated. 8) TRANSFER 10 RS FROM ACCOUNT OF ANIL TO SUNIL. QUERY:UPDATE DEPOSIT SET AMOUNT = AMOUNT - 10 WHERE CNAME = ' ANIL '; UPDATE DEPOSIT SET AMOUNT = AMOUNT + 10 WHERE CNAME = 'SUNIL'; SQL> UPDATE DEPOSIT SET AMOUNT = AMOUNT - 10 WHERE CNAME = 'ANIL'; 1 row updated. SQL> UPDATE DEPOSIT SET AMOUNT = AMOUNT + 10 WHERE CNAME = 'SUNIL'; 1 row updated. SQL> select * from deposit; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- --------------- ----------------- 100 ANIL VRCE_AMBAZARI 3620 01-MAR-95 101 SUNIL AJNI 1320 04-JAN-96 102 MEHUL KAROLBAGH 3850 17-NOV-95 104 MADHURI CHANDNI 1452 17-DEC-95 105 PRAMOD M.G.ROAD 3630 27-MAR-96 106 SANDIP ANDHERI 2200 31-MAR-96 107 SHIVANI VIRAR 1100 05-SEP-95 108 KRANTI NEHRU PLACE 5500 02-JUL-95 109 MINU POWAI 7700 10-AUG-95 9 rows selected. 9) GIVE 10 RS MORE TO ALL DEPOSITORS HAVING MORE DEPOSIT THAN THE AVERAGE DEPOSIT. QUERY:UPDATE DEPOSITSET AMOUNT = AMOUNT + 10 WHERE CNAME IN(SELECT D1.CNAME FROM DEPOSIT D1 GROUP BY D1.CNAME HAVING SUM(D1.AMOUNT) > ALL (SELECT AVG(D2.AMOUNT) FROM DEPOSIT D2)); 5 rows updated. SQL> select * from deposit; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------------------------- ---------

Page 18: DBMS Worksheet

100 ANIL VRCE_AMBAZARI 3630 01-MAR-95 101 SUNIL AJNI 1320 04-JAN-96 102 MEHUL KAROLBAGH 3860 17-NOV-95 104 MADHURI CHANDNI 1452 17-DEC-95 105 PRAMOD M.G.ROAD 3640 27-MAR-96 106 SANDIP ANDHERI 2200 31-MAR-96 107 SHIVANI VIRAR 1100 05-SEP-95 108 KRANTI NEHRU PLACE 5510 02-JUL-95 109 MINU POWAI 7710 10-AUG-95 9 rows selected. 10) GIVE 10 RS MORE FOR ALL CUSTOMER LIVING IN SAME CITY WHERE THEIR BRANCH IS LOCATED. QUERY:UPDATE DEPOSIT SET AMOUNT = AMOUNT + 10 WHERE CNAME IN (SELECT D1.CNAME FROM DEPOSIT D1, BR WHERE B1.BNAME = D1.BNAME AND B1.CITY = C1.CITY AND C1.CNAME = D1.CNAME); 1 row updated. SQL> select * from deposit; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- ------------------- ----------------- 100 ANIL VRCE_AMBAZARI 3630 01-MAR-95 101 SUNIL AJNI 1320 04-JAN-96 102 MEHUL KAROLBAGH 3860 17-NOV-95 104 MADHURI CHANDNI 1452 17-DEC-95 105 PRAMOD M.G.ROAD 3640 27-MAR-96 106 SANDIP ANDHERI 2200 31-MAR-96 107 SHIVANI VIRAR 1110 05-SEP-95 108 KRANTI NEHRU PLACE 5510 02-JUL-95 109 MINU POWAI 7710 10-AUG-95 9 rows selected.

DELETE QUERIES: 1) DELETE BORROWER HAVING BRANCH NAME DHARAMPETH. QUERY:DELETE FROM BORROW WHERE BNAME = 'DHARAMPETH'; 1 row deleted. SQL> select * from borrow; LOANN CNAME BNAME AMOUNT ----- ------------------ ------------------ ---------- 201 ANIL VRCE 1000 206 MEHUL AJNI 5000 321 MADHURI ANDHERI 2000 375 PRAMOD VIRAR 8000 481 KRANTI NEHRU PLACE 3000 2) DELETE DEPOSITORS OF VRCE_AMBAZARI BRANCH AND LIVING IN CITY CALCUTTA.

Page 19: DBMS Worksheet

QUERY:DELETE FROM DEPOSIT WHERE BNAME = 'VRCE_AMBAZARI' AND CNAME IN(SELECT CNAME FROM CUSTOMER WHERE CITY = 'CALCUTTA'); 1 row deleted. SQL> select * from deposit; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- ---------------------- ------------ 101 SUNIL AJNI 1320 04-JAN-96 102 MEHUL KAROLBAGH 3860 17-NOV-95 104 MADHURI CHANDNI 1452 17-DEC-95 105 PRAMOD M.G.ROAD 3640 27-MAR-96 106 SANDIP ANDHERI 2200 31-MAR-96 107 SHIVANI VIRAR 1110 05-SEP-95 108 KRANTI NEHRU PLACE 5510 02-JUL-95 109 MINU POWAI 7710 10-AUG-95 8 rows selected. 3) DELETE BORROWER HAVING LOAN MORE THAN 1000 AND BRANCH VIRAR. QUERY:DELETE FROM BORROW WHERE AMOUNT > 1000 AND BNAME = 'VIRAR'; 1 row deleted. SQL> SELECT * FROM BORROW; LOANN CNAME BNAME AMOUNT ----- ------------------ ------------------ ------------------------------- 201 Anil VRCE 1000 206 Mehul AJNI 5000 321 Madhuri ANDHERI 2000 481 Kranti NEHRU PLACE 3000 4) DELETE DEPOSITORS HAVING DEPOSIT LESS THAN 5000 QUERY:DELETE FROM DEPOSIT WHERE AMOUNT < 5000 6 rows deleted. SQL> SELECT * FROM DEPOSIT; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- --------- 108 Kranti NEHRU PLACE 5510 02-JUL-95 109 Minu POWAI 7710 10-AUG-95 5) DELETE IF DEPOSITORS BRANCH IS VIRAR AND DEPOSITOR NAME IS SHIVANI. QUERY:DELETE FROM DEPOSIT WHERE CNAME = 'SHIVANI' AND BNAME = 'VIRAR'; 1 row deleted. 6) DELETE CUSTOMER FROM BOMBAY CITY.

Page 20: DBMS Worksheet

QUERY:DELETE FROM CUSTOMER WHERE CITY = 'BOMBAY'; 3 rows deleted. SQL> select * from customer; CNAME CITY ------------------ ------------------ ANIL CALCUTTA SUNIL DELHI MEHUL BARODA MANDAR PATNA MADHURI NAGPUR PRAMOD NAGPUR SANDIP SURAT 7 rows selected. 7) DELETE DEPOSIT OF SUNIL IF VIJAY IS NOT DEPOSITOR. QUERY:DELETE FROM DEPOSIT WHERE CNAME = 'SUNIL' AND NOT EXISTS(SELECT * FROM DEPOSIT WHERE CNAME = 'VIJAY'); 1 row deleted. SQL> select * from deposit; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- --------- 100 ANIL VRCE_AMBAZARI 3630 01-MAR-95 102 MEHUL KAROLBAGH 3850 17-NOV-95 104 MADHURI CHANDNI 1452 17-DEC-95 105 PRAMOD M.G.ROAD 3630 27-MAR-96 106 SANDIP ANDHERI 2200 31-MAR-96 108 KRANTI NEHRU PLACE 5500 02-JUL-95 109 MINU POWAI 7700 10-AUG-95 7 rows selected. 8) DELETE DEPOSIT OF PRAMOD. QUERY:DELETE FROM DEPOSIT WHERE CNAME = 'PRAMOD'; 1 row deleted. SQL> select * from deposit; ACTNO CNAME BNAME AMOUNT ADATE ----- ------------------ ------------------ ---------- --------- 100 ANIL VRCE_AMBAZARI 3630 01-MAR-95 102 MEHUL KAROLBAGH 3850 17-NOV-95 104 MADHURI CHANDNI 1452 17-DEC-95 106 SANDIP ANDHERI 2200 31-MAR-96 108 KRANTI NEHRU PLACE 5500 02-JUL-95 109 MINU POWAI 7700 10-AUG-95

Page 21: DBMS Worksheet

6 rows selected. 9) DELETE DEPOSITORS OF VRCE_AMBAZARI BRANCH AND LIVING IN CITY CALCUTTA. QUERY:DELETE FROM DEPOSIT WHERE BNAME = 'VRCE_AMBAZARI' AND CNAME IN (SELECT CNAME FROM CUSTOMER WHERE CITY = CALCUTTA'); 1 row deleted. 10) DELETE BORROWER HAVING LOAN MORE THAN 1000 AND BRANCH DHARAMPETH. QUERY:DELETE FROM BORROW WHERE AMOUNT > 1000 AND BNAME = 'DHARAMPETH'; 1 row deleted. LOANN CNAME BNAME AMOUNT ----- ------------------ ------------------ ------------------------------- 201 ANIL VRCE 1000 206 MEHUL AJNI 5000 321 MADHURI ANDHERI 2000 375 PRAMOD VIRAR 8000 481 KRANTI NEHRU PLACE 3000