0% found this document useful (0 votes)
95 views

DBMSR1

The document details the creation of 6 tables (Department, Instructor, Student, Course, Study, Club) with various attributes and constraints. It also includes commands to add a column to the Department table, modify the size of the Name column in the Student table, and insert 5 records into each table.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views

DBMSR1

The document details the creation of 6 tables (Department, Instructor, Student, Course, Study, Club) with various attributes and constraints. It also includes commands to add a column to the Department table, modify the size of the Name column in the Student table, and insert 5 records into each table.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 37

CREATE THE FOLLOWING TABLES WITH THE NEEDED CONSTRAINTS FOR ALL COLUMNS

A) Department with attributes Dept_name ,varchar – Primary key ,Location varchar


SQL> create table department(Dept_name varchar(20) primary key,Location varchar(10));

Table created.
SQL> desc department;
Name Null? Type
----------------------------------------- -------- ----------------------------
DEPT_NAME NOT NULL VARCHAR2(20)
LOCATION VARCHAR2(10)
B) Instructor - with attributes IID varchar – Primary key, Name varchar ,Dept_name varchar– Refer the
Department table, Salary number
SQL> create table instructor(iid varchar(10) primary key,name varchar(20),salary
numeric(5,2),Dept_name varchar(20) references department(Dept_name));

Table created.
SQL> desc Instructor;
Name Null? Type
----------------------------------------- -------- ----------------------------
IID NOT NULL VARCHAR2(10)
NAME VARCHAR2(20)
SALARY NUMBER(5,2)
DEPT_NAME VARCHAR2(20)
C) Student - with attributes SID varchar – Primary key, Name varchar, Dept_name varchar– Refer the
Department table, Total_credit number
SQL> create table student(SID varchar(20) primary key,Name varchar(25),Dept_name
varchar(20),Total_credit numeric(5,4),foreign key(Dept_name) references department);

Table created.
SQL> desc student;
Name Null? Type
----------------------------------------- -------- ----------------------------
SID NOT NULL VARCHAR2(20)
NAME VARCHAR2(25)
DEPT_NAME VARCHAR2(20)
TOTAL_CREDIT NUMBER(5,4)
D) Course - with attributes CID varchar Primary key, Title varchar, Dept_name varchar– Refer the
Department table ,Credit number
SQL> create table course(CID varchar(20) primary key,Title varchar(12),Dept_name varchar(25)
references Department(Dept_name),Credit numeric(26));
Table created.
SQL> desc course;
Name Null? Type
----------------------------------------- -------- ----------------------------
CID NOT NULL VARCHAR2(5)
TITLE VARCHAR2(12)
DEPT_NAME VARCHAR2(25)
CREDIT NUMBER(26)
E) Study - with attributes SID varchar - Refer Student table CID varchar – Refer Course table, Sem
varchar, Year number, Credit number Primary key(CID,SID,Sem,Year)
SQL> create table study(SID varchar(8),CID varchar(15),Sem varchar(34),Year number(20),Credit
number(29),foreign key(SID) references student,foreign key(CID) references course,primary
key(CID,SID,Sem,Year));

Table created.
SQL> desc study
Name Null? Type

----------------------------------------- -------- ----------------------------


SID NOT NULL VARCHAR2(8)
CID NOT NULL VARCHAR2(15)
SEM NOT NULL VARCHAR2(34)
YEAR NOT NULL NUMBER(20)
CREDIT NUMBER(29)

F)
SQL> create table club(Club_name varchar(29) primary Key,SID varchar(17) references
student(SID),Activity varchar(7));
Table created.
SQL> desc club;
Name Null? Type
----------------------------------------- -------- ----------------------------
CLUB_NAME NOT NULL VARCHAR2(29)
SID VARCHAR2(17)
ACTIVITY VARCHAR2(7)
2)ADD PHONE NUMBER COLUMN TO DEPARTMENT TABLE.
Alter table department add phonenumber numeric(10);
Table altered.
SQL> desc department;
Name Null? Type
----------------------------------------- -------- ----------------------------
DEPT_NAME NOT NULL VARCHAR2(20)
LOCATION VARCHAR2(10)

PHONENUMBER NUMBER(10)
3)INCREASE THE SIZE OF NAME COLUMN IN STUDENT TABLE.
alter table student modify Name varchar(21);

Table altered.
SQL> desc student;
Name Null? Type
----------------------------------------- -------- ----------------------------
SID NOT NULL VARCHAR2(20)
NAME VARCHAR2(21)
DEPT_NAME VARCHAR2(20)
TOTAL_CREDIT NUMBER(5,4)
5)INSERT 5 RECORDS IN ALL THE TABLES
A)SQL> insert into department values('&Dept_name','&Location',&phonenumber);
Enter value for dept_name: CSE
Enter value for location: HYDERABAD
Enter value for phonenumber: 9848209558
old 1: insert into department values('&Dept_name','&Location',&phonenumber)
new 1: insert into department values('CSE','HYDERABAD',9848209558)

1 row created.
SQL> /
Enter value for dept_name: IT
Enter value for location: GOA
Enter value for phone_number: 9652784040

old 1: insert into department values('&Dept_name','&Location',&phonenumber)


new 1: insert into department values('IT','GOA',9652784040)

1 row created.
SQL> /
Enter value for dept_name: EEE
Enter value for location: DUBAI
Enter value for phone_number: 7787872891
old 1: insert into department values('&Dept_name','&Location',&phonenumber)
new 1: insert into department values('EEE','DUBAI',7787872891)

1 row created.
SQL> /
Enter value for dept_name: ECE
Enter value for location: KARIMNAGAR
Enter value for phone_number: 95656558791
old 1: insert into department values('&Dept_name','&Location',&phonenumber)
new 1: insert into department values('ECE','KARIMNAGAR',9565658791)
1 row created.
SQL> /
Enter value for dept_name: ETM
Enter value for location: RAJASTHAN
Enter value for phone_number: 7016788861
old 1: insert into department values('&Dept_name','&Location',&phonenumber)

new 1: insert into department values('ETM','RAJASTHAN',7016788861)

1 row created.
SQL> select *from department;
DEPT_NAME LOCATION PHONENUMBER
-------------------- ---------- -----------
CSE HYDERABAD 9848209558
IT GOA 9652784040
EEE DUBAI 7787872891
ECE KARIMNAGAR 9565658791
ETM RAJASTHAN 7016788861
B)

SQL>insert into instructor values('&IID','&Name',&Salary,'&Dept_name');


Enter value for iid: 1201
Enter value for name: RAM
Enter value for salary: 535.18
Enter value for dept_name: IT
old 1: insert into instructor values('&IID','&Name',&Salary,'&Dept_name')
new 1: insert into instructor values('1201','RAM',535.18,'IT')

1 row created.
SQL> /
Enter value for iid: 1202
Enter value for name: SONY
Enter value for salary: 234.91
Enter value for dept_name: CSE

old 1: insert into instructor values('&IID','&Name',&Salary,'&Dept_name')


new 1: insert into instructor values('1202','SONY',234.91,'CSE')

1 row created.
SQL> /
Enter value for iid: 1203
Enter value for name: RANI
Enter value for salary: 146.15
Enter value for dept_name: EEE
old 1: insert into instructor values('&IID','&Name',&Salary,'&Dept_name')
new 1: insert into instructor values('1203','RANI',146.15,'EEE')

1 row created.
SQL> /
Enter value for iid: 1204
Enter value for name: SAHANA
Enter value for salary: 190.6
Enter value for dept_name: EEE
old 1: insert into instructor values('&IID','&Name',&Salary,'&Dept_name')
new 1: insert into instructor values('1202','SAHANA',190.6,'EEE')

1 row created.
SQL> /
Enter value for iid: 1205
Enter value for name: RAJ
Enter value for salary: 566.92

Enter value for dept_name: IT


old 1: insert into instructor values('&IID','&Name',&Salary,'&Dept_name')
new 1: insert into instructor values('1205','RAJ',566.92,'IT')

1 row created.
SQL> select * from instructor;
IID NAME SALARY DEPT_NAME
---------- -------------------- ---------- --------------------
1201 RAM 535.18 IT
1202 SONY 234.91 CSE
1203 RANI 146.15 EEE
1204 SAHANA 190.6 EEE
1205 RAJ 566.92 IT
C)

SQL> insert into student values('&SID','&Name','&Dept_name',&Total_credit);


Enter value for sid: 1
Enter value for name: RAJA
Enter value for dept_name: IT
Enter value for total_credit: 1.2987
old 1: insert into student values('&SID','&Name','&Dept_name',&Total_credit)
new 1: insert into student values('1','RAJA','IT',1.2987)

1 row created.
SQL> /
Enter value for sid: 2
Enter value for name: SAM

Enter value for dept_name: IT


Enter value for total_credit: 2.6569
old 1: insert into student values('&SID','&Name','&Dept_name',&Total_credit)
new 1: insert into student values('2','SAM','IT',2.6569)

1 row created.
SQL> /
Enter value for sid: 3
Enter value for name: SARA
Enter value for dept_name: CSE
Enter value for total_credit: 5.9897
old 1: insert into student values('&SID','&Name','&Dept_name',&Total_credit)
new 1: insert into student values('3','SARA','CSE',5.9897)

1 row created.
SQL> /
Enter value for sid: 4
Enter value for name: SRI
Enter value for dept_name: EEE
Enter value for total_credit: 8.9572
old 1: insert into student values('&SID','&Name','&Dept_name',&Total_credit)
new 1: insert into student values('4','SRI','EEE',8.9572)
1 row created.
SQL> /
Enter value for sid: 5

Enter value for name: SUDHEEKSHA


Enter value for dept_name: ECE
Enter value for total_credit: 7.8123
old 1: insert into student values('&SID','&Name','&Dept_name',&Total_credit)
new 1: insert into student values('5','SUDHEEKSHA','ECE',7.8123)

1 row created.
SQL> select *from student;
SID NAME DEPT_NAME TOTAL_CREDIT
-------------------- --------------------- -------------------- ------------
1 RAJA IT 1.2987
2 SAM IT 2.6569
3 SARA CSE 5.9897
4 SRI EEE 8.9572
5 SUDHEEKSHA ECE 7.8123
D)

SQL> insert into course values('&CID','&Title','&Dept_name',&Credit);


Enter value for cid: 10
Enter value for title: DS
Enter value for dept_name: IT
Enter value for credit: 16
old 1: insert into course values('&CID','&Title','&Dept_name',&Credit)
new 1: insert into course values('10','DS','IT',16)
1 row created.
SQL> /
Enter value for cid: 11

Enter value for title: OOP


Enter value for dept_name: CSE
Enter value for credit: 19
old 1: insert into course values('&CID','&Title','&Dept_name',&Credit)
new 1: insert into course ('11','OOP','CSE',19)

1 row created.
SQL> /
Enter value for cid: 12
Enter value for title: DSD
Enter value for dept_name: ECE
Enter value for credit: 18
old 1: insert into course values('&CID','&Title','&Dept_name',&Credit)
new 1: insert into course values('12','DSD','ECE',18)

1 row created.
SQL> /
Enter value for cid: 13
Enter value for title: EM
Enter value for dept_name: IT
Enter value for credit: 15
old 1: insert into course values('&CID','&Title','&Dept_name',&Credit)
new 1: insert into course values('13','EM','IT',15)

1 row created.

SQL> /
Enter value for cid: 14
Enter value for title: PS
Enter value for dept_name: EEE
Enter value for credit: 13
old 1: insert into course values('&CID','&Title','&Dept_name',&Credit)
new 1: insert into course values('14','PS','EEE,13)

1 row created.
SQL> select *from course;
CID TITLE DEPT_NAME CREDIT
----- ------------ ------------------------- ----------
10 DS IT 16
11 OOP CSE 19
12 DSD ECE 18
13 EM IT 15
14 PS EEE 13
E)SQL> insert into study values('&SID','&CID','&Sem',&Year,&Credit);
Enter value for sid: 1
Enter value for cid: 10
Enter value for sem: 1
Enter value for year: 2019
Enter value for credit: 18
old 1: insert into study values('&SID','&CID','&Sem',&Year,&Credit)
new 1: insert into study values('1','10','1',2019,18)

1 row created.
SQL> /
Enter value for sid: 3
Enter value for cid: 12
Enter value for sem: 2
Enter value for year: 2017
Enter value for credit: 16
old 1: insert into study values('&SID','&CID','&Sem',&Year,&Credit)
new 1: insert into study values('3','12','2',2107,16)

1 row created.
SQL> /
Enter value for sid: 2
Enter value for cid: 11
Enter value for sem: 3
Enter value for year: 2020
Enter value for credit: 15
old 1: insert into study values('&SID','&CID','&Sem',&Year,&Credit)
new 1: insert into study values('2','11','3',2020,15)

1 row created.
SQL> /
Enter value for sid: 2
Enter value for cid: 13

Enter value for sem: 4


Enter value for year: 2011
Enter value for credit: 17
old 1: insert into study values('&SID','&CID','&Sem',&Year,&Credit)
new 1: insert into study values('2','13','4',2011,17)

1 row created.
SQL> /
Enter value for sid: 4
Enter value for cid: 14
Enter value for sem: 7
Enter value for year: 2019
Enter value for credit: 10
old 1: insert into study values('&SID','&CID','&Sem',&Year,&Credit)
new 1: insert into study values('4','14','7',2019,10)

1 row created.
SQL> select *from study;
SID CID SEM YEAR
-------- --------------- ---------------------------------- ----------
CREDIT
----------
1 10 1 2019
18
3 12 2 2017

16
2 11 3 2020
15
SID CID SEM YEAR
-------- --------------- ---------------------------------- ----------
CREDIT
----------
2 13 4 2011
17
4 14 7 2009
10
F)

SQL> insert into club values('&Club_name','&SID',&Activity);


Enter value for club_name: SPORTS
Enter value for sid: 1
Enter value for activity: VOBALL
old 1: insert into club values('&Club_name','&SID',&Activity)
new 1: insert into club values('SPORTS','1',VOBALL)

1 row created.
SQL> /
Enter value for club_name: SAMSKRUTHI
Enter value for sid: 2
Enter value for activity: CUL
old 1: insert into club values('&Club_name','&SID',&Activity)

new 1: insert into club values('SAMSKRUTHI','2',CUL)

1 row created.
SQL> /
Enter value for club_name: DANCE
Enter value for sid: 3
Enter value for activity: DAN
old 1: insert into club values('&Club_name','&SID',&Activity)
new 1: insert into club values('DANCE','3',DAN)

1 row created.
SQL> /
Enter value for club_name: LITERATURE
Enter value for sid: 4
Enter value for activity: WRITE
old 1: insert into club values('&Club_name','&SID',&Activity)
new 1: insert into club values('LITERATURE','4',WRITE)

1 row created.
SQL> /
Enter value for club_name: CODING
Enter value for sid: 5
Enter value for activity: CODE
old 1: insert into club values('&Club_name','&SID',&Activity)
new 1: insert into club values('CODING','5',CODE)

1 row created.
SQL> select *from club;
CLUB_NAME SID ACTIVIT
------- -------- --------
SPORTS 1 VOBALL
SAMSKRUTHI 2 CUL
DANCE 3 DAN
LITERATURE 4 WRITE
CODING 5 CODE
7)DELETE THE CLUB WHOSE SID=5
delete from club where SID=5;
1 row deleted.
8)LIST ALL DEPARTMENT NAMES FOR ALL INSTRUCTORS WITHOUT DUPLICATES.
SQL> select distinct Dept_name from instructor;
DEPT_NAME
--------------------
IT
EEE
CSE
9)LIST ALL DEPARTMENT NAMES FOR ALL INSTRUCTORS WITH DUPLICATES(WITHOUT USING *).
SQL> select Dept_name from instructor;
DEPT_NAME
--------------------
IT

CSE
EEE
EEE
IT
10)LIST THE INSTRUCTOR NAMES WITH THEIR MONTHLY SALARY.
SQL> select Name,Salary from instructor where IID>0;
NAME SALARY
-------------------- ----------
RAM 535.18
SONY 234.91
RANI 146.15
SAHANA 190.6
RAJ 566.92
11)FIND ALL THE STUDENTS IN CSE DEPARTMENT.
SQL> select name from student where dept_name='CSE';
NAME
---------------------
SARA
12)FIND ALL THE STUDENTS IN IT DEPARTMENT WITH CREDIT>1.2987.
SQL> select Name from student where Dept_name='IT' and Total_credit>1.2987;
NAME
---------------------
SAM
13)FIND THE INSTRUCTOR NAMES STARTING WITH 'P'.
SQL> select Name from instructor where Name like 'P%';

no rows selected
14)FIND THE STUDENT NAME ENDING WITH 'Y'.
SQL> select Name from instructor where Name like '%Y';
NAME
--------------------
SONY
15)FIND THE STUDENT NAMES CONTAINING 'A'.
SQL> select Name from instructor where Name like '%A%';
NAME
--------------------
RAM
RANI
SAHANA
RAJ
16)FIND THE DEPARTMENT NAME STARTING WITH 'E' AND CONTAINS ONLY 2 CHARACTERS NEXT TO
'E'.
SQL> select Dept_name from department where Dept_name like 'E__';
DEPT_NAME
--------------------
ECE
EEE
ETM
17)FIND THE DEPARTMENT NAME WITH 3 CHARACTERS LONG AND ENDS WITH 'E'.
SQL> select Dept_name from department where Dept_name like '__E';
DEPT_NAME

--------------------
CSE
ECE
EEE
18)FIND THE DEPARTMENT NAME WITH 3 CHARACTERS LONG,STARTING WITH 'E' AND ENDS WITH 'E'.
SQL> select Dept_name from department where Dept_name like 'E_E';
DEPT_NAME
--------------------
ECE
EEE
19)DELETE CLUB TABLE.
drop table club;

Table dropped.
20)FIND THE COURSE ID THAT STUDIED IN THE 1ST SEM OR 2ND SEM OF 3RD YEAR WITH DUPLICATES
AND WITHOUT DUPLICATES.
SQL> select CID from study where Sem='1' and Year='2019';
CID
---------------
10
SQL> select CID from study where Sem='2' and Year='2017';
CID
---------------
12

SQL> select CID from study where Sem='1' and Year='2019' union select CID from study where
Sem='2'and Year='2017';
CID
---------------
10
12
SQL> select CID from study where Sem='1' and Year='2019';
CID
---------------
10
SQL> select CID from study where Sem='2' and Year='2017';
CID
---------------
12
SQL> select CID from study where Sem='1' and Year='2019' union all select CID from study where
Sem='2' and Year='2017';
CID
---------------
10
12
21)FIND THE COURSE ID THAT STUDIED IN THE 1ST SEM AND 2ND SEM OF 4RTH YEAR WITH
DUPLICATES AND WITHOUT DUPLICATES.
SQL> select CID from study where Sem='1' and Year='2019';
CID
---------------
10

SQL> select CID from study where Sem='2' and Year='2017';


CID
---------------
12
SQL> select CID from study where Sem='1' and Year='2019'intersect select CID from study where
Sem='2' and Year='2017';

no rows selected
SQL> select CID from study where Sem='1' and Year='2019' intersect all select CID from study where
Sem='2' and Year='2017';
select CID from study where Sem='1' and Year='2019' intersect all select CID from study where Sem='2'
and Year='2017' *ERROR at line 1:
ORA-00928: missing SELECT keyword
22)FIND THE COURSE ID THAT STUDIED IN THE 1ST SEM OF 2ND SEM AND NOT IN 2ND SEM OF 2ND
YEAR WITH DUPLICATES AND WITHOUT DUPLICATES
SQL> select CID from study where Sem='1' and Year='2019';
CID
---------------
10
SQL> select CID from study where Sem='2' and Year='2017';
CID
---------------
12
SQL> select CID from study where Sem='1' and Year='2019' minus select CID from study where Sem='2'
and Year='2017';
CID
---------------

10
SQL> select CID from study where Sem='1' and Year='2019' minus all select CID from study where
Sem='2' and Year='2017';
select CID from study where Sem='1' and Year='2019' minus all select CID from study where Sem='2' and
Year='2017’;
*ERROR at line 1:
ORA-00928: missing SELECT keyword
23)FIND THE AVERAGE SALARY OF INSTRUCTORS IN 'EEE' DEPARTMENT.
SQL> select * from instructor;
IID NAME SALARY DEPT_NAME
---------- -------------------- ---------- --------------------
1201 RAM 535.18 IT
1202 SONY 234.91 CSE
1203 RANI 146.15 EEE
1204 SAHANA 190.6 EEE
1205 RAJ 566.92 IT
SQL> select avg(Salary) from instructor where Dept_name='EEE';
AVG(SALARY)
-----------
168.375
24)FIND THE NUMBER OF RECORDS IN STUDENT RELATION.
SQL> select count(*) from student;
COUNT(*)
----------
5
25)LIST THE DEPARTMENT LOCATION WITHOUT DUPLICATES.

SQL> select distinct Location from department;


LOCATION
----------
DUBAI
KARIMNAGAR
HYDERABAD
GOA
RAJASTHAN
26)FIND THE NUMBER OF LOCATIONS OF IT DEPARTMENT.
select count(Location) from department where dept_name like 'IT';
COUNT(LOCATION)
---------------
1
27)FIND THE MAXIMUM SALARY AND MINIMUM SALARY OF INSTRUCTOR IN IT DEPARTMENT.
SQL> select max(Salary) ,min(Salary)from instructor where Dept_name='IT';
MAX(SALARY) MIN(SALARY)
----------- -----------
566.92 535.18
28)FIND THE AVERAGE SALARY OF INSTRUCTOR IN EACH DEPARTMENT.
SQL> select Dept_name,avg(Salary) from instructor group by Dept_name ;
DEPT_NAME AVG(SALARY)
-------------------- -----------
IT 551.05
EEE 168.375

CSE 234.91
29)FIND THE MAXIMUM SALARY OF INSTRUCTOR IN EACH DEPARTMENT.
SQL> select Dept_name,max(Salary) from instructor group by Dept_name having max(Salary)>0;
DEPT_NAME MAX(SALARY)
-------------------- -----------
IT 566.92
EEE 190.6
CSE 234.91
30)FIND THE TOTAL SALARY OF EACH DEPARTMENT.
SQL> select Dept_name,sum(Salary) from instructor group by Dept_name having sum(Salary)>0;
DEPT_NAME SUM(SALARY)
-------------------- -----------
IT 1102.1
EEE 336.75
CSE 234.91
1)DISPLAY THE CONTENTS OF ALL INSTRUCTORS
SQL> select *from instructor;
ID NAME DEPT_NAME SALARY
----- -------------------- -------------------- ----------
10101 Srinivasan Comp. Sci. 65000
12121 Wu Finance 90000
15151 Mozart Music 40000
22222 Einstein Physics 95000
32343 El Said History 60000
33456 Gold Physics 87000
45565 Katz Comp. Sci. 75000
58583 Califieri History 62000
76543 Singh Finance 80000
76766 Crick Biology 72000
83821 Brandt Comp. Sci. 92000
ID NAME DEPT_NAME SALARY
----- -------------------- -------------------- ----------
98345 Kim Elec. Eng. 80000

12 rows selected.
2)FIND THE NAMES OF ALL INSTRUCTORS
SQL> select name from instructor;
NAME
--------------------
Srinivasan

Wu
Mozart
Einstein
El Said
Gold
Katz
Califieri
Singh
Crick
Brandt
NAME
--------------------
Kim

12 rows selected.
3)FIND THE DEPARTMENT,NAMES OF ALL INSTRUCTORS
SQL> select name,dept_name from instructor;
NAME DEPT_NAME
-------------------- --------------------
Srinivasan Comp. Sci.
Wu Finance
Mozart Music
Einstein Physics
El Said History
Gold Physics

Katz Comp. Sci.


Califieri History
Singh Finance
Crick Biology
Brandt Comp. Sci.
NAME DEPT_NAME
-------------------- --------------------
Kim Elec. Eng.

12 rows selected.
4)FIND THE NAMES OF ALL INSTRUCTORS IN THE COMPUTERSSCIENCE DEPARTMENT WHO HAVE
SALARY>$70,000
SQL> select name from instructor where dept_name='Comp. Sci.'and salary>70000;
NAME
--------------------
Katz
Brandt
5)RETRIEVE THE NAMES OF ALL INSTRUCTORS,ALONG WITH THEIR DEPARTMENT NAMES &
DEPARTMENT BUILDING NAMES
SQL> select name,dept_name,building from instructor natural join department;
NAME DEPT_NAME BUILDING
-------------------- -------------------- ---------------
Srinivasan Comp. Sci. Taylor
Wu Finance Painter
Mozart Music Packard

Einstein Physics Watson


El Said History Painter
Gold Physics Watson
Katz Comp. Sci. Taylor
Califieri History Painter
Singh Finance Painter
Crick Biology Watson
Brandt Comp. Sci. Taylor

NAME DEPT_NAME BUILDING


-------------------- -------------------- ---------------
Kim Elec. Eng. Taylor

12 rows selected.
SQL> select instructor.name,instructor.dept_name,department.building from instructor full outer join
department on instructor.dept_name=department.dept_name;//it is used to display the data if that
doesnot contains data but it gives null
NAME DEPT_NAME BUILDING
-------------------- -------------------- ---------------
Srinivasan Comp. Sci. Taylor
Wu Finance Painter
Mozart Music Packard
Einstein Physics Watson
El Said History Painter
Gold Physics Watson
Katz Comp. Sci. Taylor

Califieri History Painter


Singh Finance Painter
Crick Biology Watson
Brandt Comp. Sci. Taylor

NAME DEPT_NAME BUILDING


-------------------- -------------------- ---------------
Kim Elec. Eng. Taylor

12 rows selected.
6)FIND INSTRUCTOR'S NAME & COURSE TAUGHT.
SQL> select name,Title from instructor,course where instructor.dept_name=course.dept_name;//select
name,course_id from instructor,teaches where instructor.id=teaches.id;-displays cid

SQL> select name,title from instructor,course where instructor.dept_name=course.dept_name;


NAME TITLE
-------------------- ------------------------------
Crick Intro. to Biology
Crick Genetics
Crick Computational Biology
Brandt Intro. to Computer Science
Katz Intro. to Computer Science
Srinivasan Intro. to Computer Science
Brandt Game Design
Katz Game Design
Srinivasan Game Design
Brandt Robotics
Katz Robotics

NAME TITLE
-------------------- ------------------------------
Srinivasan Robotics
Brandt Image Processing
Katz Image Processing
Srinivasan Image Processing
Brandt Database System Concepts
Katz Database System Concepts
Srinivasan Database System Concepts
Kim Intro. to Digital Systems
Singh Investment Banking
Wu Investment Banking
Califieri World History

NAME TITLE
-------------------- ------------------------------
El Said World History
Mozart Music Video Production
Gold Physical Principles
Einstein Physical Principles
26 rows selected.
7)FIND INSTRUCTOR NAMES & COURSE IDENTIFIERS FOR INSTRUCTORS IN THE COMPUTERSCIENCE
DEPARTMENT

SQL> select name,course_id from instructor natural join teaches where dept_name='Comp. Sci.';
// select name,course_id from instructor,teaches where instructor.id=teaches.id and
dept_name='Comp. Sci.';

NAME COURSE_I
-------------------- --------
Srinivasan CS-101
Srinivasan CS-315
Srinivasan CS-347
Katz CS-101
Katz CS-319
Brandt CS-190
Brandt CS-190
Brandt CS-319

8 rows selected.
8)FIND ALL ATTRIBUTES OF INSTRUCTORS,WHO IS TEACHING A COURSE
SQL> select *from instructor,teaches where instructor.id=teaches.id;// select *from instructor natural
join teaches;

ID NAME DEPT_NAME SALARY ID COURSE_I


----- -------------------- -------------------- ---------- ----- --------
SEC_ID SEMEST YEAR
-------- ------ ----------
10101 Srinivasan Comp. Sci. 65000 10101 CS-101
1 Fall 2009

10101 Srinivasan Comp. Sci. 65000 10101 CS-315


1 Spring 2010

10101 Srinivasan Comp. Sci. 65000 10101 CS-347


1 Fall 2009

ID NAME DEPT_NAME SALARY ID COURSE_I


----- -------------------- -------------------- ---------- ----- --------
SEC_ID SEMEST YEAR
-------- ------ ----------
12121 Wu Finance 90000 12121 FIN-201
1 Spring 2010

15151 Mozart Music 40000 15151 MU-199


1 Spring 2010

22222 Einstein Physics 95000 22222 PHY-101


1 Fall 2009

ID NAME DEPT_NAME SALARY ID COURSE_I


----- -------------------- -------------------- ---------- ----- --------
SEC_ID SEMEST YEAR
-------- ------ ----------
32343 El Said History 60000 32343 HIS-351
1 Spring 2010

45565 Katz Comp. Sci. 75000 45565 CS-101


1 Spring 2010

45565 Katz Comp. Sci. 75000 45565 CS-319


1 Spring 2010

ID NAME DEPT_NAME SALARY ID COURSE_I


----- -------------------- -------------------- ---------- ----- --------
SEC_ID SEMEST YEAR
-------- ------ ----------
76766 Crick Biology 72000 76766 BIO-101
1 Summer 2009

76766 Crick Biology 72000 76766 BIO-301


1 Summer 2010

83821 Brandt Comp. Sci. 92000 83821 CS-190


1 Spring 2009

ID NAME DEPT_NAME SALARY ID COURSE_I


----- -------------------- -------------------- ---------- ----- --------
SEC_ID SEMEST YEAR
-------- ------ ----------
83821 Brandt Comp. Sci. 92000 83821 CS-190
2 Spring 2009

83821 Brandt Comp. Sci. 92000 83821 CS-319


2 Spring 2010

98345 Kim Elec. Eng. 80000 98345 EE-181


1 Spring 2009

15 rows selected.
9)LIST THE NAME OF INSTRUCTORS ALONG WITH THE TITLES OF COURSES THAT THEY TEACH
SQL> select name,title from instructor,teaches,course where instructor.id=teaches.id and
course.cid=teaches.cid;
NAME TITLE
-------------------- ------------------------------
Crick Intro. to Biology
Crick Genetics

Crick Computational Biology


Brandt Intro. to Computer Science
Katz Intro. to Computer Science
Srinivasan Intro. to Computer Science
Brandt Game Design
Katz Game Design
Srinivasan Game Design
Brandt Robotics
Katz Robotics
NAME TITLE
-------------------- ------------------------------
Srinivasan Robotics
Brandt Image Processing
Katz Image Processing
Srinivasan Image Processing
Brandt Database System Concepts
Katz Database System Concepts
Srinivasan Database System Concepts
Kim Intro. to Digital Systems
Singh Investment Banking
Wu Investment Banking
Califieri World History
NAME TITLE
-------------------- ------------------------------
El Said World History

Mozart Music Video Production


Gold Physical Principles
Einstein Physical Principles

26 rows selected.
10)FIND THE NAMES OF ALL INSTRUCTORS WHOSE SALARY IS >ATLEAST ONE INSTRUCTOR IN THE
BIOLOGY DEPARTMENT
SQL> select name from instructor where salary>some(select salary from instructor where
dept_name='Biology');
NAME
--------------------
Einstein
Brandt
Wu
Gold
Kim
Singh
Katz

7 rows selected.
11)FIND THE NAMES OF ALL DEPARTMENTS WHOSE BUILDING NAME INCLUDES THE SUBSTRING
"Watson"
SQL> select dept_name from department where building like '%Watson%';
DEPT_NAME
--------------------
Biology

Physics
12)LIST IN ALPHABETIC ORDER OF ALL INSTRUCTORS IN THE PHYSICS DEPARTMENT
SQL> select name from instructor where dept_name='Physics' order by name;
NAME
--------------------
Einstein
Gold
13)LIST THE ENTIRE RELATION INSTRUCTORS IN DESCENDING ORDER OF SALARY,IF SEVERAL
INSTRUCTORS HAVE THE SAME SALARY,ORDER THEM IN THE ALPHABETIC ASCENDING ORDER BY
NAME
SQL> select * from instructor order by salary desc,name asc;
ID NAME DEPT_NAME SALARY
----- -------------------- -------------------- ----------
22222 Einstein Physics 95000
83821 Brandt Comp. Sci. 92000
12121 Wu Finance 90000
33456 Gold Physics 87000
98345 Kim Elec. Eng. 80000
76543 Singh Finance 80000
45565 Katz Comp. Sci. 75000
76766 Crick Biology 72000
10101 Srinivasan Comp. Sci. 65000
58583 Califieri History 62000
32343 El Said History 60000
ID NAME DEPT_NAME SALARY
----- -------------------- -------------------- ----------

15151 Mozart Music 40000

12 rows selected.
14)FIND THE NAMES OF INSTRUCTORS WITH SALARY AMOUNTS BETWEEN $90,000 AND $100,000
SQL> select name from instructor where salary between 90000 and 100000;
NAME
--------------------
Einstein
Brandt
15)FIND THE SET OF ALL COURSES TAUGHT EITHER IN Fall 2009 OR Spring 2010 OR BOTH
SQL> select course_id from teaches where semester='Fall' and year=2009;
COURSE_I
--------
CS-101
CS-347
PHY-101
SQL> select course_id from teaches where semester='Spring' and year=2010;
COURSE_I
--------
CS-315
FIN-201
MU-199
HIS-351
CS-101

CS-319
CS-319

7 rows selected.
SQL> select course_id from teaches where semester='Fall' and year=2009 union select course_id from
teaches where semester='Spring' and year=2010;
COURSE_I
--------
CS-101
CS-315
CS-319
CS-347
FIN-201
HIS-351
MU-199
PHY-101

8 rows selected.
16)FIND THE SET OF ALL COURSES TAUGHT IN THE Fall 2009 AS WELL AS Spring 2010
SQL> select course_id from teaches where semester='Fall' and year=2009;
COURSE_I
--------
CS-101
CS-347
PHY-101

SQL> select course_id from teaches where semester='Spring' and year=2010;


COURSE_I
--------
CS-315
FIN-201
MU-199
HIS-351
CS-101
CS-319
CS-319

7 rows selected.
SQL> select course_id from teaches where semester='Fall' and year=2009 intersect select course_id
from teaches where semester='Spring' and year=2010;
COURSE_I
--------
CS-101
17)FIND ALL COURSES TAUGHT IN THE Fall 2009,BUT NOT IN Spring 2010
SQL> select course_id from teaches where semester='Fall' and year=2009;
COURSE_I
--------
CS-101
CS-347
PHY-101
SQL> select course_id from teaches where semester='Spring' and year=2010;

COURSE_I
--------
CS-315
FIN-201
MU-199
HIS-351
CS-101
CS-319
CS-319

7 rows selected.
SQL> select course_id from teaches where semester='Fall' and year=2009 minus select course_id from
teaches where semester='Spring' and year=2010;
COURSE_I
--------
CS-347
PHY-101
18)FIND THE AVG SALARY OF INSTRUCTORS
SQL> select avg(salary) from instructor;
AVG(SALARY)
-----------
74833.3333
19)FIND THE AVG SALARY OF INSTRUCTORS IN THE COMPUTERSCIENCE DEPARTMENT
SQL> select avg(salary) from instructor where dept_name='Comp. Sci.';
AVG(SALARY)

-----------
77333.3333
20)FIND THE TOTAL NUMBER OF INSTRUCTORS WHO TEACH A COURSE IN THE Spring 2010 SEMESTER
SQL> select count(*) from teaches where semester='Spring' and year=2010;
COUNT(*)
----------
7
21)FIND THE NUMBER OF TUPLES IN THE COURSE RELATION
SQL> select count(*) from course;
COUNT(*)
----------
13
22)FIND THE AVG SALARY OF EACH DEPARTMENT
SQL> select dept_name,avg(salary) from instructor group by dept_name;
DEPT_NAME AVG(SALARY)
-------------------- -----------
Elec. Eng. 80000
Physics 91000
Comp. Sci. 77333.3333
Finance 85000
Biology 72000
Music 40000
History 61000
7 rows selected.

23)FIND THE NUMBER OF INSTRUCTORS IN EACH DEPARTMENT WHO TEACHES A COURSE IN THE
Spring 2010 SEMESTER
SQL> select dept_name,count(*) from instructor natural join teaches where semester='Spring' and
year=2010 group by dept_name;
DEPT_NAME COUNT(*)
-------------------- ----------
Comp. Sci. 4
Finance 1
Music 1
History 1
SQL> select dept_name,count(distinct id) from instructor natural join teaches where semester='Spring'
and year=2010 group by dept_name;
DEPT_NAME COUNT(DISTINCTID)
-------------------- -----------------
Comp. Sci. 3
Finance 1
History 1
Music 1
24)FIND THE DEPARTMENTS WHERE THE AVG SALARY OF THE INSTRUCTOR IS >$42,000
SQL> select dept_name,avg(salary) from instructor group by dept_name having avg(salary)>42000;
DEPT_NAME AVG(SALARY)
-------------------- -----------
Elec. Eng. 80000
Physics 91000
Comp. Sci. 77333.3333
Finance 85000
Biology 72000
History 61000

6 rows selected.
25)FOR EACH COURSE SECTION OFFERED IN 2009 FIND THE AVG TOTAL CREDITS (Tot_cred) OF ALL
STUDENTS ENROLLED IN THE SECTION,IF THE SECTION HAS ATLEAST 2 STUDENTS
SQL> select course_id,semester,year,sec_id,avg(tot_cred) from takes natural join student where
year=2009 group by course_id,semester,year,sec_id having count(id)>=2;

COURSE_I SEMEST YEAR SEC_ID AVG(TOT_CRED)


-------- ------ ---------- -------- -------------
CS-190 Spring 2009 2 43
CS-347 Fall 2009 1 67
CS-101 Fall 2009 1 65

26)FIND ALL THE COURSES TAUGHT IN THE BOTH THE Fall 2009 AND Spring 3020
SQL> select course_id from teaches where semester='Fall' and year=2009;
COURSE_I
--------
CS-101
CS-347
PHY-101
SQL> select course_id from teaches where semester='Spring' and year=3020;
no rows selected
SQL> select course_id from teaches where semester='Fall' and year=2009 intersect select course_id
from teaches where semester='Spring' and year=3020;
no rows selected
SQL> select course_id from teaches where semester='Fall' and year=2009 and course_id in(select
course_id from teaches where semester='Spring' and year=3020);
no rows selected

27)FIND ALL THE COURSES TAUGHT IN Fall 2009 SEMESTER,BUT NOT IN THE Spring 2010 SEMESTER
SQL> select course_id from teaches where semester='Fall' and year=2009;
COURSE_I
--------
CS-101
CS-347
PHY-101
SQL> select course_id from teaches where semester='Spring' and year=2010;
COURSE_I
--------
CS-315
FIN-201
MU-199
HIS-351
CS-101
CS-319
CS-319

7 rows selected.
SQL> select course_id from teaches where semester='Fall' and year=2009 minus select course_id from
teaches where semester='Spring' and year=2010;
COURSE_I
--------
CS-347
PHY-101

SQL> select course_id from teaches where semester='Fall' and year=2009 and course_id not in(select
course_id from teaches where semester='Spring' and year=2010);
COURSE_I
--------
CS-347
PHY-101
28)FIND THE NAMES OF INSTRUCTORS,WHOSE NAMES ARE NEITHER "Mozari" nor "Einstein".
SQL> select name from instructor where name not in('Mozari','Einstein');
NAME
--------------------
Srinivasan
Wu
Mozart
El Said
Gold
Katz
Califieri
Singh
Crick
Brandt
Kim
11 rows selected.
29)FIND THE TOTAL NUMBER OF DISTINCT STUDENTS,WHO HAVE TAKEN COURSE SECTIONS TAUGHT
BY THE INSTRUCTOR WITH ID 10101
SQL> select count(distinct ID) from takes where(course_id,sec_id,semester,year) in (select
course_id,sec_id,semester,year from teaches where teaches.id=10101);
COUNT(DISTINCTID)
-----------------
6
30)FIND THE NAMES OF ALL INSTRUCTORS,WHOSE SALARY IS >ATLEAST ONE INSTRUCTOR IN BIOLOGY
DEPARTMENT
SQL> select name from instructor where salary>some(select salary from instructor where
dept_name='Biology');
NAME
--------------------
Einstein
Brandt
Wu
Gold
Kim
Singh
Katz
7 rows selected.
31)FIND THE NAMES OF ALL INSTRUCTORS,WHOSE SALARY IS >OF EACH INSTRUCTOR IN BIOLOGY
DEPARTMENT
SQL> select name from instructor where salary>all(select salary from instructor where
dept_name='Biology');
NAME
--------------------
Wu
Einstein

Gold
Katz
Singh
Brandt
Kim

7 rows selected.
32)FIND THE DEPARTMENT THAT HAVE THE HIGHEST AVG SALARY
SQL> select dept_name from instructor group by dept_name having avg(salary)>=all(select avg(salary)
from instructor group by dept_name);
DEPT_NAME
--------------------
Physics
33)FIND ALL STUDENTS WHO HAVE TAKEN ALL COURSES OFFERED IN THE BIOLOGY DEPARTMENT
SQL> select distinct student.ID,student.name from student where not exists((select course_id from
course where dept_name='Biology') minus (select takes.course_id from takes where
student.id=takes.id));
no rows selected

1)FIND THE MAXIMUM,MINIMUM AGE OF SAILORS.


SQL> select max(age),min(age) from Sailors;
MAX(AGE) MIN(AGE)
---------- ----------
63.5 16
2)FIND THE NO OF RESERVATIONS MADE BY SAILOR WITH SID=101.
SQL> select count(*) from Reserves where bid=101;
COUNT(*)
----------
2
SQL> select count(sid) from Reserves where bid=101;
COUNT(SID)
----------
2
3)FIND THE NO OF RED COLOR BOATS.
SQL> select count(color) from Boatsrelation where color='red';
COUNT(COLOR)
------------
2
4)FIND THE NO OF SAILORS WHOSE NAMES CONTAINS THE LETTER E.
SQL> select count(sid) from Sailors where sname like '%e%';
COUNT(SID)
----------
1
5)LIST THE SAILORS IN THE ASCENDING ORDER OF NAMES.
SQL> select sname from Sailors order by sname asc;//select * from Sailors order by sname;
SNAME
--------------------
Andy
Art
Bob
Brutus
Dustin
Horatio
Horatio
Lubber
Rusty
Zorba
10 rows selected.

6)LIST THE DETAILS OF RESERVATIONS IN THE DESCENDING ORDER OF MONTH OF BOOKING.


SQL> select * from Reserves order by date1 desc;
SID BID DATE1
---------- ---------- ---------
31 104 12-NOV-98
31 102 10-NOV-98
31 103 06-NOV-98
22 101 10-OCT-98
22 102 10-OCT-98
22 103 08-OCT-98
22 104 07-OCT-98
74 103 08-SEP-98
64 102 08-SEP-98
64 101 05-SEP-98

10 rows selected.
7)FIND THE SAILORS NAMES WHO HAVE RESERVED BOAT WITH BOATID=101.
SQL> select sname from Sailors natural join Reserves where bid=101;
SNAME
--------------------
Dustin
Horatio
8)FIND THE DETAILS OF BOAT IDS WHICH ARE RESERVED BY SAILORS WITH THE NAME "Dustin".
SQL> select bid from Reserves natural join Sailors where sname='Dustin';

BID
----------
101
102
103
104
9)FIND THE DETAILS OF BOAT IDS WHICH ARE RESERVED BY SAILORS WITH THE NAME "Dustin" or
"Lubber".
SQL> select bid from Reserves natural join Sailors where sname like 'Dustin';
BID
----------
101
102
103
104
SQL> select bid from Reserves natural join Sailors where sname like 'Lubber';
BID
----------
102
103
104
SQL> select bid from Reserves natural join Sailors where sname like 'Dustin' union select bid from
Reserves natural join Sailors where sname like 'Lubber';
BID
----------
101
102
103
104
10)FIND THE DETAILS OF BOAT IDS WHICH ARE RESERVED BY SAILORS WITH THE NAME "Dustin" AND
"Lubber".
SQL> select bid from Reserves natural join Sailors where sname like 'Dustin' intersect select bid from
Reserves natural join Sailors where sname like 'Lubber';
BID
----------
102
103
104
11)FIND THE SIDS OF SAILORS WHO RESERVED BOAT WITH BOAT ID=103 BUT NOT WITH BOAT
ID=101.
SQL> select sid from Reserves where bid=103 minus select sid from Reserves where bid=101;
SID
----------
31
74
12)FIND THE NAMES OF SAILORS WHO HAVE RESERVED BOAT NUMBER 103.
SQL> select sname from Sailors natural join Reserves where bid=103;
SNAME
--------------------
Dustin
Lubber
Horatio

13)FIND SAILORS WHOSE RATING IS BETTER THAN SOME SAILOR CALLED Horatio.
SQL> select * from sailors where rating>some(select rating from Sailors where sname='Horatio');
SID SNAME RATING AGE
---------- -------------------- ---------- ----------
58 Rusty 10 35
71 Zorba 10 16
74 Horatio 9 35
31 Lubber 8 55.5
32 Andy 8 25.5
14)FIND SAILORS WHOSE RATING IS BETTER THAN ALL SAILOR CALLED Horatio.
SQL> select * from sailors where rating>all(select rating from Sailors where sname='Horatio');
SID SNAME RATING AGE
---------- -------------------- ---------- ----------
58 Rusty 10 35
71 Zorba 10 16
15)FIND THE NAMES OF SAILORS WHO RESERVED BOTH A RED AND GREEN BOAT.
SQL> select distinct sname from sailors where sid in((select sid from reserves where bid in(select bid
from boatsrelation where color=’red’))intersect(select sid from reserves where bid in(select bid from
boatsrelation where color=’green’)));
SNAME
--------------------
Lubber
Dustin
16)FIND THE AVERAGE AGE OF SAILORS WITH A RATING OF 10.
SQL> select avg(age) from sailors where rating=10;

AVG(AGE)
----------
25.5
17)FIND THE NAME AND AGE OF THE OLDEST SAILOR.
SQL> select sname,age from Sailors where age=(select max(age) from Sailors);
SNAME AGE
-------------------- ----------
Bob 63.5
18)COUNT THE NUMBER OF DIFFERENT SAILOR NAMES.
SQL> select count(distinct sname) from Sailors;
COUNT(DISTINCTSNAME)
--------------------
9
19)FIND THE NAMES OF SAILORS WHO ARE OLDER THAN THE OLDEST SAILOR WITH A RATING=10.
SQL> select sname from Sailors where age>(select max(age) from Sailors where rating=10);
SNAME
--------------------
Dustin
Lubber
Bob
20)FIND THE AGE OF THE YOUNGEST SAILOR FOR EACH RATING LEVEL.
SQL> select min(age),rating from Sailors group by rating;
MIN(AGE) RATING
---------- ----------

33 1
25.5 8
35 7
25.5 3
16 10
35 9

6 rows selected.
21)FIND THE AGE OF THE YOUNGEST SAILOR WHO IS ELIGIBLE TO VOTE(i.e.,is at 18 least years old) for
each rating level.
SQL> select min(age),rating from Sailors where age>=18 group by rating;
MIN(AGE) RATING
---------- ----------
33 1
25.5 8
35 7
25.5 3
35 10
35 9

6 rows selected.
22)FIND THE AGE OF THE YOUNGEST SAILOR WHO IS ELIGIBLE TO VOTE(i.e,IS AT LEAST 18 YEARS OLD)
FOR EACH RATING LEVEL WITH AT LEAST TWO SUCH SAILORS.
SQL> select min(age),rating from sailors where age>=18 group by rating having count(*)>=2;
MIN(AGE) RATING
---------- ----------

25.5 8
35 7
25.5 3
23)FIND THE AVERAGE AGE OF SAILORS FOR EACH RATING LEVEL THAT HAS AT LEAST TWO SAILORS.
SQL> select avg(age),rating from sailors where age>=18 group by rating having count(*)>=2;
AVG(AGE) RATING
---------- ----------
40.5 8
40 7
44.5 3
24)FIND THOSE RATINGS FOR WHICH THE AVERAGE AGE OF SAILORS IS THE MINIMUM OVERALL
RATINGS.
SQL> select rating from sailors group by rating having avg(age)<=all(select avg(age) from sailors group by
rating);
RATING
----------
10
SQL> select avg(age),rating from sailors group by rating;
AVG(AGE) RATING
---------- ----------
33 1
40.5 8
40 7
44.5 3
25.5 10

35 9

6 rows selected.
25)DISPLAY SAILORS NAMES,ALONG WITH THE COLORS OF THE BOATS WHICH SAILORS HAVE
RESERVED.
SQL> select distinct(sname),color from sailors,reserves,boatsrelation where sailors.sid=reserves.sid and
reserves.bid=boatsrelation.bid;
SNAME COLOR
-------------------- ---------------
Horatio red
Dustin red
Lubber green
Lubber red
Dustin blue
Dustin green
Horatio blue
Horatio green
8 rows selected.
SQL> select sname,color from sailors,reserves,boatsrelation where sailors.sid=reserves.sid and
reserves.bid=boatsrelation.bid;
SNAME COLOR
-------------------- ---------------
Dustin blue
Dustin red
Dustin green
Dustin red
Lubber red
Lubber green
Lubber red
Horatio blue
Horatio red
Horatio green
10 rows selected.
26)DISPLAY SAILORS NAME,ALONG WITH THE NUMBER OF BOATS RESERVED BY THEM.
SQL> select sname,count(bid) from sailors natural join reserves group by sname;
SNAME COUNT(BID)
-------------------- ----------
Lubber 3
Dustin 4
Horatio 3
27)DISPLAY COLOR WISE NO OF RESERVATIONS.
SQL> select color,count(*) from boatsrelation,reserves where boatsrelation.bid=reserves.bid group by
color; // select color,count(bid)from reserves natural join boatsrelation group by color;
COLOR COUNT(*)
--------------- ----------
green 3
red 5
blue 2
28)DISPLAY SAILORS NAME,ALONG WITH THE NO OF BOATS RESERVED BY THEM.(INCLUDES SAILOR'S
NAMES OF SAILORS WHO HAVE NOT RESERVED ANY BOAT WITH ZERO AS COUNT).
SQL> select sname,count(reserves.sid) from sailors full outer join reserves on sailors.sid=reserves.sid
group by sname;
SNAME COUNT(RESERVES.SID)
-------------------- -------------------
Rusty 0
Lubber 3
Brutus 0
Andy 0
Art 0
Bob 0
Dustin 4
Zorba 0
Horatio 3
9 rows selected.
29)FIND THE SIDS WHO HAVE RESERVED ALL BOATS.
SQL> select sid from reserves,boatsrelation where reserves.bid=boatsrelation.bid group by sid having
count(*)=all(select count(*) from boatsrelation);
// select sid from reserves natural join boatsrelation group by sid having count(*)=all(select count(*)
from boatsrelation);
//> select sid from reserves,boatsrelation where reserves.bid=boatsrelation.bid group by sid having
count(reserves.bid)=(select count(boatsrelation.bid) from boatsrelation);

SID
----------
22
30)FIND THE SIDS WHO HAVE RESERVED ALL RED COLORED BOATS.
SQL> select distinct(sid) from reserves,boatsrelation where reserves.bid=boatsrelation.bid and
color='red';
//select distinct(sid) from reserves natural join boatsrelation where color='red';
SID
----------
22
31
64

31)CREATING A VIEW FOR COMBINATION OF 2 TABLES SAILORS AND RESERVES.


SQL> create view a as(select *from sailors natural join reserves);

View created.

SQL> select * from a;

SID SNAME RATING AGE BID DATE1


---------- -------------------- ---------- ---------- ---------- ---------
22 Dustin 7 45 101 10-OCT-98
22 Dustin 7 45 102 10-OCT-98
22 Dustin 7 45 103 08-OCT-98
22 Dustin 7 45 104 07-OCT-98
31 Lubber 8 55.5 102 10-NOV-98
31 Lubber 8 55.5 103 06-NOV-98
31 Lubber 8 55.5 104 12-NOV-98
64 Horatio 7 35 101 05-SEP-98
64 Horatio 7 35 102 08-SEP-98
74 Horatio 9 35 103 08-SEP-98

10 rows selected.

You might also like