You are on page 1of 12

ASSINGMENT-9

1.TABLE NAME: STUDENT


Name
Null?
Type
------------------------------- -------- ---SID
NOT NULL VARCHAR2(4)
SNAME
NOT NULL VARCHAR2(20)
SEX
CHAR(1)(M OR F)
AGE
NOT NULL NUMBER(2)
YEAR
DATE
GPA
NUMBER(3,2)
GPA IS GRADE POINT AVERAGE.
CREATE TABLE student ( sid VARCHAR (4) NOT NULL,
sname VARCHAR(20) NOT NULL,
sex CHAR(1),
age INTEGER(2) NOT NULL,
year DATE,
gpa DECIMAL(3,2),
PRIMARY KEY (sid) );

INSERT INTO student VALUES


('1', "PRATHAMESH MHATRE", "M", 25,19800212,4.9),
('2', "RONIT MHATRE", "M",24,19821103, 2.4),
('3', "PRADEEP KORI", "M", 24,19821130, 4.9),
('4', "SHRADHHA MUTKE", "F", 20,19851213, 4.9),
('5', "SACHIN WASKAR", "M", 50,19601010, 3.8),
('6', "RAHUL CHAUHAN", "M", 43,19721215, 4.9),
('7', "ARCHANA PATIL", "F", 26,19800621, 2.4),
('8', "NITESH PATIL", "M", 51,19700521,3.4),
('9', "GOKUL WAGH", "M", 23, 19870923, 4.4),
('10', "YOGESH GAVDE", "M", 21,19870321, 4.0),
('11', "PRATEEK THAKUR", "M", 19,19840316, 3.9),
('12', "SIDDHARTH KOLI", "M", 21,19841215, 2.6),
('13', "HARSHADA PAWAR", "F", 22,19850407, 4.7),
('14', "RAHUL PALANDE", "M", 24,19860503, 3.4),
('15', "AMIT AMLE", "M", 28,19850706, 2.2),
('16', "DILIP SHARMA", "M", 19,19890304, 2.1)
('17', "SUJATA AUTI", "F", 18,19860812, 4.8),
('18', "HEENA SHAIKH", "F", 21,19890506, 3.3),
('19', "KIRAN DABDE", "M", 21,19721215, 2.8),
('20', "PRARTHANA RANE", "F", 24,19601010, 4.4),
('21', "SNEHA KHOSE", "F", 21,19821130, 3.9),
('22', "SANKET KOKATE", "M", 19,19860503,4.4),
('23', "KIRAN DABDE", "M", 21,19800212, 4.9),
('24', "SNEHAL MAVLE", "F", 20,19821130, 4.1),
('25', "TRUPTI PATIL", "F", 19,19800212, 2.9),
('26', "ASHWINI KUMBHAR", "F", 21,19601010, 3.1),
('27', "LOKESH KANSE", "M", 18,19800212, 3.8),
('28', "NIKHIL PATIL", "M", 20,19800212, 2.1),
('29', "PRIYANKA MAHADIK", "F", 18,19601010, 3.8),
('31', "Swati Raghav", "F", 25,19800212,4.9),
('32', "Pooja Shah", "F",24,19821103, 2.4),
('33', "Spriha Agarwal ", "F", 24,19821130, 4.9),
('34', "Nivedita Mittal", "F", 20,19851213, 4.9);

2.TABLE NAME: DEPT


Name
Null?
Type
------------------------------- -------- ---DNAME
NOT NULL VARCHAR2(15)
NUMPHDS
NUMBER(3)
CREATE TABLE dept
(
dname VARCHAR (25) NOT NULL,
numphds INTEGER(3),
PRIMARY KEY (dname) );
INSERT INTO dept (dname, numphds)
VALUES
("Civil Engineering", 40),
("Biology", 65 ),
("Music", 22),
("Mathematics", 21),
("Physics", 38),
("Economics", 45)
("Computer Science ", 44);

3.TABLE NAME: PROF


Name
Null?
Type
------------------------------- -------- ---PNAME
NOT NULL VARCHAR2(15)
DNAME
NOT NULL VARCHAR2(15)
CREATE TABLE prof
(
pname VARCHAR(15),
dname VARCHAR(15),
PRIMARY KEY (pname),
FOREIGN KEY (dname) REFERENCES dept(dname) );
INSERT INTO prof (pname, dname)
VALUES
("RAMESH VAKIL", "Physics"),
("ROBBIN HUSAIN", "Physics"),
("ALBERT DONALD", "Music"),
("SUDHIR MANDLIK", "Music"),
("RUCHA JADHAV", "Biology"),
("PAUL MALLYA", "Biology"),
("SURESH IYER", "Mathematics"),
("NITISH PATIL", "Mathematics"),
("AMAR PANCHAL", "Economics"),
("FARUKH KAZHI", "Economics"),
("AARTI DESALE", "Civil Engineering"),
("JUNAID SIDDIQUI", "Civil Engineering")
('Darshana Patil','Computer Science'),
('Shweta Sahu','Computer Science');

4.TABLE NAME: COURSE


Name
Null?
Type
------------------------------- -------- ---@DNAME
VARCHAR2(15)
CNO
NOT NULL VARCHAR2(4)
CNAME
VARCHAR2(18)
CREATE TABLE course (
cno VARCHAR(4),
cname VARCHAR(30),
dname VARCHAR(25),
PRIMARY KEY (cno),
FOREIGN KEY (dname)
REFERENCES dep(dname) );
INSERT INTO course (cno, cname, dname)
VALUES
(111, "Operating Systems", "Civil Engineering"),
(222, "Artificial Intelligence", "Civil Engineering"),
(333, "Algorithms", "Civil Engineering"),
(123, "Physiology", "Biology"),
(233, "Microbiology", "Biology"),
(332, "Botany", "Biology"),
(122, "Topology", "Mathematics"),
(224, "Differential Geometry", "Mathematics"),
(312, "Algebra", "Mathematics"),
(154, "Tonal Theory", "Music"),
(342, "Musicianship", "Music"),
(453, "Music of the Romantic Era", "Music"),
(221, "Quantum Mechanics", "Physics"),
(343, "General Relativity", "Physics"),
(543, "Electrodynamics", "Physics"),
(227, "Microeconomic Theory", "Economics"),
(112, "Intermediate Theory", "Economics"),
(121, "Quantitative Economics", "Economics"),
(444, "Distributed Computing", "Computer Science"),
(555, "Software Architecture", "Computer Science");

5.TABLE NAME: MAJOR


Name
Null?
Type
------------------------------- -------- ---@DNAME
NOT NULL VARCHAR2(15)
SID
NOT NULL VARCHAR2(4)

CREATE TABLE major


(
dname VARCHAR(25) NOT NULL,
sid VARCHAR(4) NOT NULL,
FOREIGN KEY (dname) REFERENCES dept(dname),
FOREIGN KEY (sid) REFERENCES student(sid) );
INSERT INTO major
VALUES
("Civil Engineering",
("Civil Engineering",
("Civil Engineering",
("Civil Engineering",
("Civil Engineering",
("Mathematics", 4),
("Mathematics", 16),
("Mathematics", 10),
("Mathematics", 22),
("Mathematics", 28),
("Biology", 2),
("Biology", 8),
("Biology", 14),
("Biology", 20),
("Biology", 26),
("Music", 3),
("Music", 9),
("Music", 15),
("Music", 21),
("Music", 27),
("Physics", 5),
("Physics", 11),
("Physics", 17),
("Physics", 23),
("Physics", 29),
("Economics", 6),
("Economics", 12),
("Economics", 18),
("Economics", 24),

1),
7),
13),
19),
25),

("Computer
("Computer
("Computer
("Computer

Science",
Science",
Science",
Science",

31),
32),
33),
34);

6.TABLE NAME: SECTION


Name
Null?
Type
------------------------------- -------- ---@DNAME
VARCHAR2(15)
CNO
VARCHAR2(4)
SECTNO
NOT NULL VARCHAR2(4)
@PNAME
VARCHAR2(15)
CREATE TABLE section ( dname VARCHAR(25),
cno VARCHAR(4),
sectno VARCHAR(4),
pname VARCHAR(15),
PRIMARY KEY (sectno),
FOREIGN KEY (dname) REFERENCES dept(dname),
FOREIGN KEY (cno) REFERENCES course(cno),
FOREIGN KEY (pname) REFERENCES prof(pname) );
INSERT INTO section
VALUES
("Biology", 332, 1, "RUCHA JADHAV"),
("Biology", 123, 2, "RUCHA JADHAV"),
("Biology", 233, 3, "PAUL MALLYA"),
("Physics", 221, 4, "RAMESH VAKIL"),
("Physics", 543, 5, "ROBBIN HUSAIN"),
("Physics", 343, 6, "ROBBIN HUSAIN"),
("Music", 342, 7, "ALBERT DONALD"),
("Music", 342, 8, "ALBERT DONALD"),
("Music", 154, 9, "SUDHIR MANDLIK"),
("Music", 154, 10, "SUDHIR MANDLIK"),
("Mathematics", 312, 11, "SURESH IYER")
("Mathematics", 312, 12, "SURESH IYER"),
("Mathematics", 224, 13, "NITISH PATIL"),
("Mathematics", 224, 14, "NITISH PATIL"),
("Civil Engineering", 111, 15, "JUNAID SIDDIQUI"),
("Civil Engineering", 333, 16, "AARTI DESALE"),
("Civil Engineering", 333, 17, "AARTI DESALE"),
("Economics", 112, 18, "FARUKH KAZHI"),
("Economics", 112, 19, "FARUKH KAZHI"),
("Economics", 121, 20, "AMAR PANCHAL");
("Computer Science", 444, 21, "SHWETA SAHU"),

("Computer Science", 444, 22, "SHWETA SAHU"),


("Computer Science", 555, 23, "DARSHANA PATIL"),

7.TABLE NAME:ENROLL
Name
Null?
Type
------------------------------- -------- ---@SID
NOT NULL VARCHAR2(15)
@DNAME
VARCHAR2(15)
CNO
NOT NULL VARCHAR2(4)
SECTNO
VARCHAR2(4)
GRADE
CHAR(1)
CREATE TABLE enroll
(
sid VARCHAR(15) NOT NULL,
dname VARCHAR(25),
cno VARCHAR(4) NOT NULL,
sectno VARCHAR(4),
grade CHAR(1),
FOREIGN KEY (sid) REFERENCES student(sid),
FOREIGN KEY (dname) REFERENCES dept(dname),
FOREIGN KEY (cno) REFERENCES course(cno),
FOREIGN KEY (sectno) REFERENCES section(sectno) );
INSERT INTO enroll
VALUES
(1,"Civil Engineering",111, 15, "A"),
(1,"Civil Engineering", 333, 16, "A"),
(1,"Mathematics", 312, 11, "A"),
(7,"Civil Engineering", 111, 16, "A"),
(7,"Civil Engineering", 333, 17, "B"),
(7,"Physics", 343, 4, "B"),
(13, "Civil Engineering", 111, 16, "A"),
(13, "Music", 154, 10, "C"),
(19, "Civil Engineering", 111, 16, "A"),
(19, "Economics", 112, 18, "D"),
(19, "Biology", 332, 3, "A"),
(16, "Mathematics", 312, 12, "A"),
(16, "Mathematics", 224, 13, "B"),
(10, "Mathematics", 312, 11, "B"),
(10, "Mathematics", 224, 14, "B"),
(10, "Physics", 543, 6, "B"),
(22, "Mathematics", 224, 12, "A"),

(22, "Physics", 221, 5, "C"),


(22, "Civil Engineering", 333, 17, "A"),
(28, "Mathematics", 224, 14, "A"),
(28, "Biology", 332, 1, "B"),
(14, "Biology", 332, 2, "A"),
(14, "Biology", 233, 1, "B"),
(20, "Biology", 332, 1, "A"),
(20, "Biology", 233, 1, "C"),
(20, "Economics", 227, 18, "B"),
(26, "Biology", 332, 2, "A"),
(26, "Music", 154, 8, "A"),
(9, "Music", 154, 7, "A"),
(9, "Music", 342, 9, "B"),
(15, "Music", 154, 8, "A"),
(15, "Music", 342, 10, "B"),
(21, "Music", 342, 10, "A"),
(21, "Economics", 112, 20, "A"),
(27, "Music", 342, 8, "B"),
(27, "Economics", 112, 19, "C"),
(27, "Mathematics", 224, 14, "B"),
(11, "Physics", 221, 4, "A"),
(11, "Physics", 332, 6, "B"),
(17, "Physics", 221, 4, "A"),
(17, "Physics", 332, 5, "A"),
(17, "Civil Engineering", 333, 17, "C"),
(23, "Physics", 221, 5, "A"),
(23, "Mathematics", 312, 11, "B"),
(23, "Mathematics", 224, 11, "B"),
(29, "Physics", 221, 5, "A"),
(6, "Economics", 112, 19, "A"),
(12, "Economics", 112, 18, "A"),
(12, "Economics", 121, 20, "B"),
(18, "Economics", 112, 19, "A"),
(18, "Economics", 121, 18, "B"),
(24, "Economics", 112, 20, "A")
(31,"Computer Science",444, 21, "A"),
(32,"Computer Science", 444, 22, "A"),
(33,"Computer Science", 555, 23, "A");
NOTE: UNDERLINE REPRESENTS PRIMARY KEY AND @ REPRESENTS
FOREIGN KEY.

QUESTIONS:
1)PRINT THE NUMBER OF PROFESSORS WHO WORK IN DEPARTMENTS
THAT HAVE FEWER THAN 50 PhD STUDENTS
SELECT count(p.pname) AS NuMBER_OF_PROFESSORS
FROM dept AS d
INNER JOIN prof AS p
ON d.dname=p.dname AND numphds<50;
2)PRINT THE NAMES OF THE STUDENTS WITH THE LOWEST GPA
SELECT sid ,sname
FROM student
ORDER BY gpa LIMIT 1;
3)FOR EACH COMPUTER SCIENCE CLASS, PRINT THE CLASS
NUMBER,SECTION NO. AND THE AVERAGE GPA OF THE STUDENTS
ENROLLED IN THE CLASS
SELECT c.cno, sectno,avg(gpa) AS GPA
FROM course AS c
INNER JOIN enroll AS e
ON c.cno=e.cno AND c.dname='Computer Science'
INNER JOIN student AS s
on e.sid=s.sid
GROUP BY e.cno,e.sectno;
4)PRINT THE NAMES AND SECTION NUMBERS OF ALL CLASSES WITH
MORE THAN SIX STUDENTS ENROLLED IN THEM
SELECT c.cname, e.sectno ,e.cno
from course as c
inner join enroll as e
on c.cno=e.cno
Group by e.cno ,e.sectno
HAVING count(e.cno)>6;
5) PRINT THE NAME(S) AND SID(S) OF THE STUDENT(S) ENROLLED
IN THE MOST CLASSES.
SELECT s.sname,s.sid
FROM student AS s
INNER JOIN enroll AS e
ON e.sid=s.sid

GROUP BY e.sid HAVING count(e.sid)>1;


6)PRINT THE NAMES OF DEPARTMENTS THAT HAVE ONE OR MORE
MAJORS WHO ARE UNDER 18 YEAR0S OLD
SELECT DISTINCT m.dname from major as m
inner join student AS s
on s.sid=m.sid and s.age<18;
7)PRINT THE NAMES AND MAJORS OF STUDENTS WHO ARE TAKING ONE
OF THE COLLEGE GEOMETRY COURSE
SELECT s.sname, s.sid,m.dname
FROM major AS m
INNER JOIN course AS c
ON m.dname=c.dname AND c.cname='Geometry'
INNER JOIN student AS s
ON s.sid=m.sid;
8)FOR THOSE DEPARTMENTS THAT HAVE NO MAJOR TAKING A COLLEGE
GEOMETRY COURSE
PRINT THE DEPARTMENT NAME AND THE NUMBER OF PHD STUDENT IN
THE DEPARTMENT
SELECT dname ,numphds FROM dept
WHERE dname In(
SELECT Distinct c.dname FROM course AS c ,enroll AS e
WHERE c.cno=e.cno AND c.dname IN (
SELECT distinct dname FROM course
WHERE dname NOT in (Select dname FROM course WHERE
cname='geometry')));
TESTCASESELECT distinct dname from course
where dname NOT in (Select dname from course where
cname='geometry')
9)PRINT THE NAMES OF STUDENTS WHO ARE TAKING BOTH A
COMPUTER SCIENCES COURSES AND MATHEMATICS COURSES
SELECT sname from student
WHERE sid IN(
SELECT m1.sid
FROM major m1 JOIN major m2
WHERE m1.sid=m2.sid
AND m1.dname='Mathematics'AND m2.dname='Computer Science);

10)PRINT THE AGE DIFFERENCE BETWEEN THE OLDEST AND THE


YOUNGEST COMPUTER SCIENCE MAJOR
SELECT max(age)-min(age) AS AGE_DIFFERENCE
FROM student AS s
INNER JOIN major AS m
WHERE m.sid=s.sid AND m.dname='computer science';
11)FOR EACH DEPARTMENT THAT HAS ONE OR MORE MAJORS WITH A
GPA UNDER 1.0.
PRINT THE NAME OF THE DEPARTMENT AND AVERAGE GPA OF ITS
MAJORS
SELECT m.dname, avg(s.gpa)
from student as s
inner join major as m
on m.sid=s.sid AND s.gpa<1
Group by m.dname;
12)PRINT THE IDS,NAMES AND GPA'S OF THE STUDENTS WHO ARE
CURRENTLY TAKING ALL THE CIVIL ENGINEERING COURSES
SELECT DISTINCT s.sid, s.sname,s.gpa
FROM student as s
INNER JOIN enroll AS e
ON s.sid=e.sid AND e.dname='civil engineering';

You might also like