Vous êtes sur la page 1sur 39

1 table created

Name Null? Type


CNAME NOT NULL VARCHAR2(20)
CITY VARCHAR2(10)
ADDRESS VARCHAR2(20)
PHONE NUMBER(10)
AFDATE DATE

1 table created

Name Null? Type


SID NOT NULL NUMBER(2)
SNAME VARCHAR2(20)
SADDRESS VARCHAR2(20)
CONTACTS NUMBER(10)

1 table created
Name Null? Type
SID NUMBER(2)
CNAME VARCHAR2(20)
DEPT VARCHAR2(30)
DOJ DATE
POST VARCHAR(20)
SALARY NUMBER(7,2)

1. Using the following database:


Colleges (​cname​, city, address, phone, afdate)
1
Staffs (​sid​, sname, saddress, contacts)
StaffJoins (sid, cname, dept, DOJ, post, salary)
Teachings (sid, class, paperid, fsession, tsession)
Subjects (​paperid​, subject, paperno, papername)
Write the following statements for the following:-
i. Create the above tables with the given specifications and
constraints.
CREATE TABLE Colleges
(
cname varchar2(20) primary key,
city varchar2(10),
address varchar2(20),
phone number(10),
afdate date
);
DESC Colleges;

CREATE TABLE Staffs


(
sid number(2) primary key,
sname varchar2(20),
saddress varchar2(20),
contacts number(10)
);
DESC Staffs;

CREATE TABLE StaffJoins


(
sid number(2) references Staffs,
cname varchar2(20) references Colleges,
dept varchar2(30),
DOJ date,
post varchar2(20),
salary number(7,2)
);
DESC StaffJoins;

2
1 table created

Name Null? Type


SID NUMBER(2)
CLASS VARCHAR2(10)
PAPERID VARCHAR2(10)
FSESSION DATE
TSESSION DATE

1 table created
Name Null? Type
PAPERID NOT NULL VARCHAR2(10)
SUBJECT VARCHAR2(40)
PAPERNO VARCHAR2(10)
PAPERNAME VARCHAR2(20)

CNAME CITY ADDRESS PHONE AFDATE


Disha college Raipur Ram Nagar, Kota 4205553 30-JUN-00
Durga college Raipur K.K Road 4202253 30-JAN-75
Daga college Bhilai Civil Lines 4658457 30-AUG-95
Central college Raipur Fafadih 9654821565 15-MAY-04
Chanakya college Bhilai G.E Road 6548325 02-JUL-03
Palloti college Raipur Pandri 9853254185 03-SEP-90
Harishankar college Raipur Shankar Nagar 2565486 04-OCT-65
Mats college Raipur Pandri 4596658 05-NOV-04
Degree Girls college Bhilai G.E Road 6583245 06-DEC-92
RIT Raipur G.E Road 4598544 07-FEB-96

10 rows inserted

CREATE TABLE Teachings


(
sid number(2) references Staffs,
class varchar2(10),

3
paperid varchar2(10),
fsession date,
tsession date
);
DESC Teachings;

CREATE TABLE Subjects


(
paperid varchar2(10) primary key,
subject varchar2(40),
paperno varchar2(10),
papername varchar2(20)
);
DESC Subjects;

ii. Insert about 10 rows as appropriate to solve the following


queries.
INSERT INTO Colleges VALUES
(
‘&cname’,
‘&city’,
‘&address’,
‘&phone’,
‘&afdate’
);

SID SNAME SADDRESS CONTACTS


01 Mandeep Raipur 9301619104
02 Suyash Raipur 9893180320
03 Bhawana Raipur 2564813
04 Bhoj Raigarh 9986548521

4
05 Vishal Rajnandgaon 9301515654
06 Manish Abhanpur 9564125368
07 Neha Raipur 9301256487
08 Jaya Bhilai 2664856
09 Vandana Bhilai 5487446
10 Rajesh Baloda Bazaar 9301654854
10 rows inserted
SID CNAME DEPT DOJ POST SALARY
01 Disha college Computer Science 01-JUL-00 HOD 100000 .00
02 Disha college Computer Science 01-JUL-02 Professor 50000.00
Assistant
03 Disha college Computer Science 01-JUL-03 25000.00
Professor
01-AUG-0
04 Daga college Mathematics Professor 50000.00
3
Assistant
05 Durga college Mathematics 01-SEP-04 25000.00
Professor
Maths,
06 Palloti college 01-OCT-05 Professor 50000.00
Electronics
01-NOV-0
07 Disha college Mathematics Professor 50000.00
5
10-NOV-0
08 RIT Electronics Professor 50000.00
5
Maths, Assistant
09 Mats college 01-DEC-05 25000.00
Electronics Professor
Chanakya Assistant
10 Electronics 07-DEC-06 25000.00
college Professor
10 rows inserted
SID CLASS PAPERID FSESSION TSESSION
01 BCA-1 BCA-101 01-JUL-00 01-MAR-01
02 BCA-2 BCA-201 01-JUL-02 01-MAR-03
03 BCA-3 BCA-301 01-JUL-03 01-MAR-04
04 BE-1 BE-101 01-AUG-03 03-MAR-04
05 BE-2 BE-201 01-SEP-04 01-MAR-05
06 BE-3 BE-301 01-OCT-05 01-MAR-06
07 BE-4 BE-401 01-NOV-05 01-MAR-06
08 BSC-1 BSC-101 10-NOV-05 01-MAR-06
09 BSC-2 BSC-201 01-DEC-05 01-MAR-07
10 BSC-3 BSC-301 07-DEC-06 01-DEC-07

5
INSERT INTO Staffs VALUES
(
‘&sid’,
‘&sname’,
‘&saddress’,
‘&contacts’,
);

INSERT INTO StaffJoins VALUES


(
‘&sid’,
‘&cname’,
‘&dept’,
‘&DOJ’,
‘&post’
‘&salary’
);

INSERT INTO Teachings VALUES


(
‘&sid’,
‘&class’,
‘&paperid’,
‘&fsession’,
6
‘&tsession’
);

PAPERID SUBJECT PAPERNO PAPERNAME


BCA-101 COMPUTER 01 VISUAL BASIC
BCA-201 COMPUTER 03 DBMS
BCA-301 COMPUTER 02 COM-DCOM
BE-101 MATHS 01 CALCULUS
BE-201 MATHS 02 DISCRETE MATHS
BE-301 MATHS 03 NUMARICAL ANALYSIS
BE-401 MATHS 04 CALCULUS
BSC-101 ELECTRONICS 08 FUDA. OF ELECTRONICS
BSC-201 MATHS 07 CALCULUS
BSC-301 PHYSICS 06 PHYSICS

SNAME
Mandeep
Suyash
Bhawana

SNAME SADDRESS
Mandeep Raipur
Suyash Raipur

7
Bhawana Raipur
Neha Raipur

SNAME SADDRESS
Mandeep Raipur
Suyash Raipur
Bhawana Raipur
Neha Raipur

INSERT INTO Subjects VALUES


(
‘&paperid’,
‘&subject’,
‘&paperno’,
‘&papername’
);

iii. List the names of teachers teaching computer subjects.


SELECT Staffs.sname
FROM Staffs, Teachings, Subjects
WHERE Subjects.paperid=Teachings.paperid
AND Teachings.sid=Staffs.sid
AND Subjects.subject IN ( 'VISUAL BASIC' , 'DBMS' ,
'COM-DCOM' ) ;

8
iv. List the names and cities of all staff working in your college.
SELECT Staffs.sname, Staffs.saddress
FROM Colleges, Staffs, StaffJoins
WHERE StaffJoins.sid = Staffs.sid
AND Colleges.cname='Disha college'
AND Colleges.cname=StaffJoins.cname;

v. List the names and cities of all staff working in your college who earn
more than 15,000.  
SELECT Staffs.sname, Staffs.saddress
FROM Staffs, StaffJoins
WHERE Staffs.sid=StaffJoins.sid
AND StaffJoins.cname='Disha college'
AND StaffJoins.salary>15000;
 
SID SNAME SADDRESS CONTACTS
01 Mandeep Raipur 9301619104
03 Bhawana Raipur 2564813
09 Vandana Bhilai 5487446
 
 
 
 
 
 
 
 
 
 
SID SNAME SADDRESS CONTACTS DOJ
06 Manish Abhanpur 9564125368 01-OCT-05
07 Neha Raipur 9301256487 01-NOV-05
08 Jaya Bhilai 2664856 10-NOV-05
09 Vandana Bhilai 5487446 01-DEC-05
 
 
 
9
 
 
 
 
 
 
1 row updated
 
 
 
 
 
 
 
 
SUBJECT
VISUAL BASIC
 
 
 
 
 
 
 
CLASS
BCA-2
BCA-3
BE-1
BE-2
BE-3
BSC-1
BSC-2
BSC-3
BE-4
 
 
 
 
 
 
 
 
 
 
 
10
vi. Find the staffs whose names start with ‘M’ or ‘R’ and ends
with ‘A’ and/or 7 characters long. 
SELECT *
FROM Staffs
WHERE (sname LIKE 'M%A' OR sname LIKE 'R%A' AND sname
LIKE '???????')
OR (sname LIKE '???????’);

vii. Find the staffs whose date of joining is 2005. 


SELECT Staffs.*, StaffJoins.DOJ
FROM Staffs, StaffJoins
WHERE StaffJoins.sid = Staffs.sid
AND (StaffJoins.DOJ BETWEEN '01-jan-05' AND '31-dec-05') ;

viii. Modify the database so that staff N1 now works in C2


College​.
UPDATE StaffJoins
SET cname = 'Durga college'
WHERE sid = 101;

ix. List the names of subjects, which T1 teaches in this session


or all sessions​.
SELECT Subjects.papername
FROM Subjects, Teachings, Staffs
WHERE Staffs.sid = Teachings.sid
AND Teachings.paperid = Subjects.paperid
AND Staffs.sname = 'Mandeep';

x. Find the classes that T1 do not teach at present session.


SELECT class
FROM Teachings
WHERE class <> (SELECT class FROM Teachings WHERE sid =
101);

11
CNAME
Disha college

SNAME
Mandeep

CNAME
Disha college
Daga college
Palloti college
RIT

CNAME
Durga college
Mats college
Chanakya college

12
CNAME
Disha college
Daga college
Palloti college
RIT

xi. Find the colleges who have most number of staffs​.


SELECT StaffJoins.cname
FROM StaffJoins
GROUP BY cname
HAVING COUNT(sid)=(SELECT MAX(COUNT(sid)) FROM
StaffJoins GROUP BY cname);

xii. Find the staffs that earn a higher salary who earn greater
than average salary of their college.
SELECT Staffs.sname
FROM Staffs, StaffJoins
WHERE Staffs.sid = StaffJoins.sid
AND StaffJoins.cname = 'Disha college'
AND salary>(SELECT AVG(salary) FROM StaffJoins WHERE
StaffJoins.cname='Disha college');

xiii. Find the colleges whose average salary is more than


average salary of C2.
SELECT DISTINCT(cname)
FROM StaffJoins
WHERE AVG(salary)>(SELECT AVG(salary) FROM StaffJoins
WHERE cname=’Durga College’);

xiv. Find the colleges that have the smallest payroll.

13
SELECT cname
FROM StaffJoins
WHERE salary=(SELECT MIN(SUM(salary)) FROM StaffJoins
GROUP BY cname);

xv. Find the colleges where the total salary is greater than the
average salary of all colleges.
SELECT StaffJoins.cname
FROM StaffJoins
WHERE SUM(salary)>(SELECT AVG(salary) FROM StaffJoins);

CNAME MAX(SALARY) AVG(SALARY) MIN(SALARY)


Chanakya college 25000 25000 25000
Daga college 50000 50000 50000
Disha college 100000 56250 25000
Durga college 25000 25000 25000
Mats college 25000 25000 25000
Palloti college 50000 50000 50000
RIT 50000 50000 50000

No Rows Selected

SID SNAME SADDRESS CONTACTS CNAME DEPT DOJ POST SALARY


01 Mandeep Raipur 9301619104 Disha college Computer Science 01-JUL-00 HOD 100000
02 Suyash Raipur 9893180320 Disha college Computer Science 01-JUL-02 Professor 50000

14
Assistant
03 Bhawana Raipur 2564813 Disha college Computer Science 01-JUL-03 25000
Professor
04 Bhoj Raigarh 986548521 Daga college Mathematics 01-AUG-03 Professor 50000
Assistant
05 Vishal Rajnandgaon 9301515654 Durga college Mathematics 01-SEP-04 25000
Professor
06 Manish Abhanpur 9564125368 Palloti college Maths, Electronics 01-OCT-05 Professor 50000
07 Neha Raipur 9301256487 Disha college Mathematics 01-NOV-05 Professor 50000
08 Jaya Bhilai 2664856 RIT Electronics 10-NOV-05 Professor 50000
Assistant
09 Vandana Bhilai 5487446 Mats college Maths, Electronics 01-DEC-05 25000
Professor
Baloda Assistant
10 Rajesh 9301654854 Chanakya college Electronics 07-DEC-06 25000
Bazaar Professor

SNAME
Mandeep
Suyash
Bhoj
Manish
Neha
Jaya

xvi. List maximum, average , minimum salary of each college.


SELECT cname, MAX(salary), AVG(salary), MIN(salary)
FROM StaffJoins
GROUP BY cname;

15
xvii. List the names of the teachers, departments teaching in
more than one department.
SELECT Staffs.sname, StaffJoins.dept
FROM Staffs, StaffJoins
WHERE Staffs.sid=StaffJoins.sid

xviii. Acquire details of staffs by name in a college or each


college. 
SELECT Staffs.*, StaffJoins.cname, StaffJoins.dept, StaffJoins.DOJ,
StaffJoins.post, StaffJoins.salary
FROM Staffs, StaffJoins
WHERE Staffs.sid = StaffJoins.sid;

xix. Find the names of staff that earn more than each staff of
C2 college.
SELECT Staffs.sname
FROM Staffs, StaffJoins
WHERE Staffs.sid = StaffJoins.sid
AND salary>(SELECT MAX(salary) FROM StaffJoins WHERE
cname = 'Durga college');
SNAME

16
Bhoj
Vishal
Manish
Jaya
Vandana
Rajesh

SNAME
Neha
Bhawana
Suyash
Mandeep

Name Null? Type


CNAME VARCHAR2(20)
SNAME VARCHAR2(20)
DEPT VARCHAR2(30)
DOJ DATE
POST NUMBER(7,2)

V​View Created

Name Null? Type


CNAME VARCHAR2(20)
SALARY NUMBER(7,2)

View Created

17
xx. Find all staff that does not work in same cities as the
colleges they work.
SELECT Staffs.sname
FROM Staffs, StaffJoins
WHERE Staffs.sid=StaffJoins.sid AND StaffJoins.cname='DISHA
COLLEGE'
ORDER BY StaffJoins.salary;

xxi. List names of employees in ascending order according to


salary who are working in your college or all colleges.
SELECT sname
FROM Staffs, StaffJoins
WHERE Staffs.sid=StaffJoins.sid
AND StaffJoins.cname='Disha college' ORDER BY
StaffJoins.salary;

xxii. Create a view having field cname, sname, dept, DOJ and
post.
CREATE VIEW StaffDetail1 AS
SELECT StaffJoins.cname, Staffs.sname, StaffJoins.dept,
StaffJoins.DOJ, StaffJoins.post
FROM StaffJoins, Staffs
WHERE StaffJoins.sid = Staffs.sid;

xxiii. Create a view consisting of cname, average salary and


total salary of staff in that college.
CREATE VIEW StaffDetail2 AS
SELECT StaffJoins.cname, AVG(salary) "salary"
FROM StaffJoins GROUP BY cname;

18
Name Null? Type
ENROLLNO NOT NULL VARCHAR2(8)
NAME VARCHAR2(10)
GENDER VARCHAR2(1)
DOB DATE
ADDRESS VARCHAR2(10)
PHONE NUMBER(10)

Name Null? Type


ADMNO NOT NULL NUMBER(4)
ENROLLNO VARCHAR2(8)
COURSE VARCHAR2(5)

19
YEARSEM VARCHAR2(10)
DATE DATE
CNAME VARCHAR2(20)

xxiv. Select the colleges having highest and lowest average


salary using above views.
SELECT cname
FROM StaffDetail2
WHERE salary= MAX(salary)
AND salary=MIN(salary)

xxv. List the staff names of a department using above views.


SELECT sname, dept
FROM StaffDetail1

2. Create the following databases:-


Enrollment (​enrollno​, name, gender, DOB, address, phone)
Admission (​admno​, enrollno, course, yearsem, date, cname)
Colleges (​cname​, city, address, phone, afdate)
Feestructure (​course​, ​yearsem​, fee)
Payment (​billno​, admno, amount, pdate, purpose)
i. Create the above tables with given specifications and
constraints.
CREATE TABLE Enrollment
(
enrollno varchar2(8) primary key,
name varchar2(10),
gender varchar2(1),
DOB date,
address varchar2(10),

20
phone number(10)
);DESC Enrollment;

CREATE TABLE Admissions


(
admno number(4) primary key,
enrollno varchar2(8) references Enrollment,
course varchar2(5),
yearsem varchar2(10),
date date,
cname varchar2(20) references Colleges
); DESC Admissions;

Name Null? Type


CNAME NOT NULL VARCHAR2(20)
CITY VARCHAR2(10)
ADDRESS VARCHAR2(20)
PHONE NUMBER(10)
AFDATE DATE

Name Null? Type


COURSE NOT NULL VARCHAR2(5)
YEARSEM VARCHAR2(10)
FEES NUMBER(5,2)

21
Name Null? Type
BILLNO NOT NULL NUMBER(10)
ADMNO NUMBER(4)
AMOUNT NUMBER(5,2)
PDATE DATE
PURPOSE VARCHAR2(10)

ENROLLNO NAME GENDER DOB ADDRESS PHONE


UU/20001 Anshul M 01-JAN-93 Raipur 9893452616
UU/20002 Bhawna F 02-FEB-93 Bhilai 9976543287
UU/20003 Chetna F 03-MAR-93 Bilaspur 9876789543
UU/20004 Dithi F 04-APR-93 Kawardha 9826123457
UU/20005 Elisha F 05-MAY-93 Chirmiri 8827321546
UU/20006 Farishta F 06-JUN-93 Ambikapur 7887656454
UU/20007 Gitika F 07-JUL-93 Raipur 9898989898
UU/20008 Hritik M 08-AUG-93 Ambikapur 7878787878
UU/20009 Ishita F 09-SEP-93 Kawardha 8899776655
UU/20010 Janhavi F 10-OCT-93 Chirmiri 9998979695

CREATE TABLE Colleges


(
cname varchar2(20) primary key,
city varchar2(10),
address varchar2(20),
phone number(10),
afdate date
);
DESC Collesges;

CREATE TABLE FeeStructure


(
course varchar2(5),
yearsem varchar2(10),
fee number(5,2)
22
);
DESC FeeStructure;

CREATE TABLE Payment


(
billno number(10) primary key,
admno number(4) references Admissions,
amount number(5,2),
pdate date,
purpose varchar2(10)
);
DESC Paymwnt;

ii. Insert about 10 rows as are appropriate to solve the


following queries.
INSERT INTO Enrollment VALUES
(
‘&enrollno’,
‘&name’,
‘&gender’,
‘&DOB’,
‘&address’,
‘&phone’
);

ADMNO ENROLLNO COURSE YEARSEM DATE CNAME


1001 UU/20001 BCA-I 2005-06 02-AUG-87 Disha college
1002 UU/20002 BSC-I 2005-06 04-AUG-88 Durga college
1003 UU/20003 BCOM-I 2006-07 02-MAR-88 Daga college
1004 UU/20004 BBA-I 2006-07 02-AUG-89 Central college
1005 UU/20005 PGDCA-I 2007-08 02-FEB-88 Chanakya college
1006 UU/20006 BCA-II 2007-08 20-NOV-87 RIT
1007 UU/20007 BSC-II 2008-09 02-AUG-87 Disha college
1008 UU/20008 BCOM-II 2008-09 04-AUG-88 Durga college
1009 UU/20009 BBA-II 2009-10 02-MAR-88 Daga college
1010 UU/20010 PGDCA-II 2009-10 02-AUG-89 Central college

CNAME CITY ADDRESS PHONE AFDATE


Disha college Raipur Ram Nagar, Kota 4205553 30-JUN-00
Durga college Raipur K.K Road 4202253 30-JAN-75
Daga college Bhilai Civil Lines 4658457 30-AUG-95
Central college Raipur Fafadih 9654821565 15-MAY-04

23
Chanakya college Bhilai G.E Road 6548325 02-JUL-03
Palloti college Raipur Pandri 9853254185 03-SEP-90
Harishankar college Raipur Shankar Nagar 2565486 04-OCT-65
Mats college Raipur Pandri 4596658 05-NOV-04
Degree Girls college Bhilai G.E Road 6583245 06-DEC-92
RIT Raipur G.E Road 4598544 07-FEB-96

COURSE YEARSEM FEE


BCA-I 2005-06 31000 .00
BSC-I 2005-06 30000.00
BCOM-I 2006-07 30000.00
BBA-I 2006-07 21000.00
PGDCA-I 2007-08 20000.00
BCA-II 2007-08 20000.00
BSC-II 2008-09 21000.00
BCOM-II 2008-09 20000.00
BBA-II 2009-10 20000.00
PGDCA-II 2009-10 25000.00
BCA-I 2005-06 10000.00

INSERT INTO Admission VALUES


(
‘&admno’,
‘&enrollno’,
‘&course’,
‘&yearsem’,
‘&date’,
‘&cname’
);

INSERT INTO Colleges VALUES


(
‘&cname’,
‘&city’,
‘&address’,
‘&phone’,
‘&afdate’
24
);

INSERT INTO FeeStructure VALUES


(
‘&course’,
‘&yearsem’,
‘&fee’
);

BILLNO ADMNO AMOUNT PDATE PURPOSE


1 1001 31000.0021-JUL-07
2 1002 21000.0021-JUN-07
3 1003 21000.0021-AUG-07
4 1004 25000.0021-SEP-07
5 1005 10000.0001-JUL-07
6 1006 30000.0023-OCT-07
7 1007 20000.0021-JUL-07
8 1008 20000.0021-JUN-07
9 1009 25000.0021-AUG-07
10 1010 10000.0021-SEP-07

25
ADMNO ENROLLNO COURSE YEARSEM DATE CNAME
1001 UU/20001 BCA-I 2005-06 02-AUG-87 Disha college
1002 UU/20002 BSC-I 2005-06 04-AUG-88 Durga college
1003 UU/20003 BCOM-I 2006-07 02-MAR-88 Daga college
1004 UU/20004 BBA-I 2006-07 02-AUG-89 Central college
1005 UU/20005 PGDCA-I 2007-08 02-FEB-88 Chanakya college
1006 UU/20006 BCA-II 2007-08 20-NOV-87 RIT
1007 UU/20007 BSC-II 2008-09 02-AUG-87 Disha college
1008 UU/20008 BCOM-II 2008-09 04-AUG-88 Durga college
1009 UU/20009 BBA-II 2009-10 02-MAR-88 Daga college
1010 UU/20010 PGDCA-II 2009-10 02-AUG-89 Central college

ADMNO ENROLLNO COURSE YEARSEM DATE CNAME


1003 UU/20003 BCOM I-year 02-MAR-88 Daga college
1005 UU/20005 PGDCA I-semester 02-FEB-88 Chanakya college

TOTAL AMOUNT
52000 .00

26
INSERT INTO Payment VALUES
(
‘&billno’,
‘&admno’,
‘&amount’,
‘&pdate’,
‘&purpose’
);

iii. Get full details of all students who took admission this year
class wise.
SELECT *
FROM Admissions
WHERE date BETWEEN '31-dec-10' AND '01-jan-12' ORDER BY
course;

iv. Get details of students who took admission in Bhilai colleges.


SELECT *
FROM Colleges, Admissions
WHERE Colleges.cname=Admission.cname
AND Colleges.city= ‘Bhilai’;

v. Calculate the total amount of fees collected in this session

27
a. By your college
SELECT SUM(amount) “Total Amount”
FROM Admissions, Payment
WHERE Admission.admno=Payment.admno
AND Admission.yearsem=’2010-11’
AND Admission.cname=’Disha College’;

CNAME TOTAL AMOUNT


Disha College 52000 .00
Durga College 42000.00
Daga College 46000.00
Central College 35000.00
Chanakya College 10000.00
RIT 31000.00

TOTAL AMOUNT
216000 .00

No Rows Selected

28
No Rows Selected

COUNT(ADMNO)
1

b. By each college
SELECT cname, SUM(amount) “TOTAL AMOUNT”
FROM Payment, Admission
WHERE Admission.admno=Payment.admno
AND Admission.yearsem=’2010-11’
GROUP BY cname;

c. By all colleges
SELECT SUM(amount) “TOTAL AMOUNT”
FROM Payment, Admission
WHERE Admission.admno=Payment.admno;
AND Admission.yearsem=’2010-11’;

vi. List the students who have not paid full fee
a. In your college
SELECT Enrollment.name
FROM Enrollment, Admission, Payment
WHERE Enrollment.enrollno=Admission.enrollno
AND Admission.admno=Payment.admno
AND Payment.amount=NULL;

29
AND Admission.cname=’Disha College’

b. In all colleges
SELECT Enrollment.name
FROM Enrollment, Admission, Payment
WHERE Enrollment.enrollno=Admission.enrollno
AND Admission.admno=Payment.admno
AND Payment.amount=NULL;

vii. List the number of admissions in your class in every year.


SELECT COUNT (admno)
FROM Admission
WHERE course='BCA-II';

Name Null? Type


PAPERID NOT NULL VARCHAR2(10)
SUBJECT VARCHAR2(40)
PAPERNO VARCHAR2(10)
PAPERNAME VARCHAR2(20)

Name Null? Type


PAPERID NOT NULL VARCHAR2(10)

30
DATE DATE
TIME VARCHAR2(5)
MAX NUMBER(3)
MIN NUMBER(3)

Name Null? Type


ROLLNO NOT NULL NUMBER(3)
PAPERID VARCHAR2(10)
MARKS NUMBER(3)
ATTENDENCE VARCHAR2(4)

3. Create the following databases:-


Subjects (​paperid​, subject, paper, papername)
Test (​paperid​, date, time, max, min)
Score (​rollno​, papered, marks, attendance)
Students (​admno​, rollno, class, yearsem)
i. Create the above tables with the given specifications and
constraints.
CREATE TABLE Subjects

31
(
paperid varchar2(10) primary key,
subject varchar2(40),
paperno varchar2(10),
papername varchar2(20)
);
DESC Subjects;

CREATE TABLE Test


(
paperid varchar2(10) primary key,
date date,
time varchar2(5),
max number(3),
min number(3)
);
DESC Test;

CREATE TABLE Score


(
rollno number(3) primary key,
paperid varchar2(10) references Subjects,
marks number(3),
attendance varchar2(4)
);
DESC Score;

Name Null? Type


ADMNO NOT NULL NUMBER(4)
ROLLNO NUMBER(4)
CLASS VARCHAR2(10)
YEARSEM VARCHAR2(10)

32
PAPERID SUBJECT PAPERNO PAPERNAME
BCA-101 COMPUTER 01 VISUAL BASIC
BCA-201 COMPUTER 03 DBMS
BCA-301 COMPUTER 02 COM-DCOM
BE-101 MATHS 01 CALCULUS
BE-201 MATHS 02 DISCRETE MATHS
BE-301 MATHS 03 NUMARICAL ANALYSIS
BE-401 MATHS 04 CALCULUS
BSC-101 ELECTRONICS 08 FUDA. OF ELECTRONICS
BSC-201 MATHS 07 CALCULUS
BSC-301 PHYSICS 06 PHYSICS

PAPERID DATE TIME MAX MIN


BCA-101 01-JAN-01 07:30 100 40
BCA-201 02-FEB-02 07:30 100 40
BCA-301 03-MAR-03 07:30 100 40
BE-101 04-APR-04 07:30 100 40
BE-201 05-MAY-05 07:30 100 40
BE-301 06-JUN-06 07:30 100 40
BE-401 07-JUL-07 07:30 100 40
BSC-101 08-AUG-08 07:30 100 40
BSC-201 09-SEP-09 07:30 100 40
BSC-301 10-OCT-10 07:30 100 40

33
CREATE TABLE Students
(
admno number(4) primary key,
rollno number(4),
class varchar2(10),
yearsem varchar2(10)
);
DESC Students;

ii. Insert about 10 rows as are appropriate to solve the


following queries.
INSERT INTO Subjects VALUES
(
‘&paperid’,
‘&subject’,
‘&paperno’,
‘&papername’
);

INSERT INTO Test VALUES


(
‘&paperid’,
‘&date’,
‘&time’,
‘&max’,
‘&min’,
);
34
ROLLNO PAPERID MARKS ATTENDANCE
101 BCA-101 99 PRESENT
102 BCA-201 98 PRESENT
103 BCA-301 97 PRESENT
104 BE-101 96 PRESENT
105 BE-201 95 PRESENT
106 BE-301 95 PRESENT
107 BE-401 96 PRESENT
108 BSC-101 97 PRESENT
109 BSC-201 98 PRESENT
110 BSC-301 99 PRESENT

ADMNO ROLLNO CLASS YEARSEM


1001 101 BCA-I 2005-06
1002 102 BCA-II 2005-06
1003 103 BCA-III 2006-07
1004 104 BSC-I 2006-07
1005 105 BSC-II 2007-08
1006 106 BSC-III 2007-08
1007 107 BCOM-I 2008-09
1008 108 BCOM-II 2008-09
1009 109 BBA-I 2009-10
1010 110 BBA-II 2009-10

35
ROLLNO
101
102
103
104
105
106
107
108
109
110

INSERT INTO Score VALUES


(
‘&rollno’,
‘&paperid’,

36
‘&marks’,
‘&attendance’,
);

INSERT INTO Students VALUES


(
‘&admno’,
‘&rollno’,
‘&class’,
‘&yearsem’,
);

iii. List the students who were present in a paper of a


subject.
SELECT A.rollno
FROM Students A, Score B
WHERE A.rollno=B.rollno
AND attendence='PRESENT';

ROLLNO
101
102
103
104
105
106

37
107
108
109
110

ADMNO ROLLNO CLASS YEARSEM


1002 102 BCA-II 2005-06

MAX(MARKS) MIN(MARKS) AVG(MARKS)


99 95 97

38
iv. List all roll numbers who have passed in first division.
SELECT rollno
FROM Score
WHERE marks>=60;

v. List all students in BCA-II who have scored higher than


average in every college
SELECT Students.*
FROM Score, Students
WHERE Score.rollno=Students.rollno
AND Students.class= ‘BCA-II’
AND Score.marks >(SELECT AVG (marks) FROM Score);

vi. List the highest score, average and minimum score in


BCA-II in every college
SELECT MAX (marks), MIN (marks), AVG (marks)
FROM Score;

39

Vous aimerez peut-être aussi