Sunteți pe pagina 1din 11

EXERCISE 2 AIRLINE FLIGHT INFORMATION

2 . The following relations keep track of airline flight information:


Flights (no: integer, from: string, to: string, distance: integer,
Departs: time, arrives: time, price: real)
Aircraft (aid: integer, aname: string, cruisingrange: integer)
Certified (eid: integer, aid: integer)
Employees (eid: integer, ename: string, salary: integer)
Note that the Employees relation describes pilots and other kinds of employees as well; Every
pilot is certified for some aircraft, and only pilots are certified to fly.
Write each of the following queries in SQL.
1. Find the names of aircraft such that all pilots certified to operate them have salaries more than
Rs.80, 000.
2. For each pilot who is certified for more than three aircrafts, find the eid and the maximum
cruisingrange of the aircraft for which she or he is certified.
3. Find the names of pilots whose salary is less than the price of the cheapest route from
Bengaluru to Frankfurt.
4. For all aircraft with cruisingrange over 1000 Kms, .find the name of the aircraft and the
average salary of all pilots certified for this aircraft.
5. Find the names of pilots certified for some Boeing aircraft.
6. Find the aids of all aircraft that can be used on routes from Bengaluru to New Delhi.

Creation of Tables:

SQL> create table flights(flno int primary key,from1 varchar2(10),to1 varchar2(10)


rts timestamp,arrives timestamp,price number(6,2));
Table created.
SQL> create table aircraft(aid int primary key,aname varchar2(10),crusingrange int
Table created.
SQL> create table employees(eid int primary key,ename varchar2(10),salary int);
Table created.
SQL> create table certified(eid references employees(eid),aid references aircraft(
Table created.
SQL> desc flights;
Name

Null?

Type

----------------------------------------- -------- ---------------------------FLNO

NOT NULL NUMBER(38)

FROM1
TO1

VARCHAR2(10)
VARCHAR2(10)

DISTANCE

NUMBER(38)

DEPARTS

TIMESTAMP(6)

ARRIVES

TIMESTAMP(6)

PRICE

NUMBER(6,2)

SQL> desc aircraft;


Name

Null?

Type

----------------------------------------- -------- ---------------------------AID


ANAME

NOT NULL NUMBER(38)


VARCHAR2(10)

CRUSINGRANGE

NUMBER(38)

SQL> desc employees;


Name

Null?

Type

----------------------------------------- -------- ---------------------------EID

NOT NULL NUMBER(38)

ENAME

VARCHAR2(10)

SALARY

NUMBER(38)

SQL> desc certified;


Name

Null?

Type

----------------------------------------- -------- ---------------------------EID

NUMBER(38)

AID

NUMBER(38)

Insertion o f Values:insert into flights values('&flno','&from1','&to1','&distance','&departs','&arrives','&price');


insert into aircraft values('&aid','&aname','&cruisingrange');
insert into employees values('&eid','&ename','&salary');
insert into certified values('&eid','&aid')

SQL> select * from flights;

FLNO FROM1

TO1

DISTANCE

---------- ---------- ---------- ---------DEPARTS


--------------------------------------------------------------------ARRIVES
--------------------------------------------------------------------PRICE
---------1111 bang

franfurt

10000

22-SEP-20 12.10.00.000000 PM
22-SEP-20 12.15.00.000000 PM
1000

FLNO FROM1

TO1

DISTANCE

---------- ---------- ---------- ---------DEPARTS


--------------------------------------------------------------------ARRIVES
--------------------------------------------------------------------PRICE
---------2222 bangalore frankfurt
23-SEP-20 12.00.00.000000 PM

10000

24-SEP-20 12.17.00.000000 PM
2000

FLNO FROM1

TO1

DISTANCE

---------- ---------- ---------- ---------DEPARTS


--------------------------------------------------------------------ARRIVES
--------------------------------------------------------------------PRICE
---------3333 bangalore newdelhi

700

25-OCT-20 12.07.00.000000 PM
25-OCT-20 12.09.00.000000 PM
200

FLNO FROM1

TO1

DISTANCE

---------- ---------- ---------- ---------DEPARTS


--------------------------------------------------------------------ARRIVES
--------------------------------------------------------------------PRICE

---------4444 los

hono

1000

23-SEP-20 12.10.00.000000 PM
23-SEP-20 12.12.00.000000 PM
100

FLNO FROM1

TO1

DISTANCE

---------- ---------- ---------- ---------DEPARTS


--------------------------------------------------------------------ARRIVES
--------------------------------------------------------------------PRICE
---------5555 bang

frankfurt

1000

24-SEP-20 12.10.00.000000 PM
25-SEP-20 12.12.00.000000 PM
100

SQL> select * from aircraft;

AID ANAME

CRUSINGRANGE

---------- ---------- -----------11 boeing

2000

22 boeingt

1500

33 boeing

1000

44 airindia

1200

55 airdeccan

1000

SQL> select * from employees;

EID ENAME

SALARY

---------- ---------- ---------1 niyaz

90000

2 kiran

10000

3 ranjith

10000

4 chetan

10000

5 ajay

10000

SQL> select * from certified;

EID

AID

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

11

22

33

44

55

22

44

1) SQL> select a.aname from aircraft a


where a.aid in(select c.aid from certified c,employees e where c.eid=e.eid and NOT EXISTS
(sele
ct * from employees e1 where e1.eid=e.eid and e1.salary<80000));

ANAME
---------boeing

2) SQL> select c.eid,max(a.crusingrange)


2 from certified c,aircraft a
3 where c.aid=a.aid
4 group by c.eid
5 having count(*)>3;

EID MAX(A.CRUSINGRANGE)
---------- ------------------2

1500

3)
SQL> select min(f.price) from flights f where f.from1='bang' and f.to1='frankfurt';

MIN(F.PRICE)
-----------100

SQL> update employees set salary='90' where eid=2;

1 row updated.

SQL> select * from employees;

EID ENAME

SALARY

---------- ---------- ---------1 niyaz

90000

2 kiran

90

3 ranjith

10000

4 chetan

10000

5 ajay

10000

SQL> select e.ename


2 from employees e
3 where e.salary<(select min(f.price) from flights f where f.from1='bang' and f.to1='frankfurt');
ENAME
---------kiran

4)
SQL> select aname,avg(salary)
2 from aircraft a,certified c,employees e
3 where crusingrange>1000 and c.aid=a.aid and c.eid=e.eid
4 group by aname;

ANAME

AVG(SALARY)

---------- ----------airindia

5045

boeing

90000

boeingt

5045

5)
SQL> select distinct e.ename
2 from employees e,certified c,aircraft a
3 where e.eid=c.eid and c.aid=a.aid and a.aname like '%boeing%';
ENAME
---------kiran
niyaz
ranjith
6) SQL> select a.aid
2 from aircraft a
3 where a.crusingrange >(select distance from flights f where f.from1='bangalore' and
4 f.to1='newdelhi');

AID
---------11
22
33
44
55

*********************************end ***************************************

S-ar putea să vă placă și