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

Hospital Database Management System Oracle SQL

Uploaded by

Aditya Patade
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Hospital Database Management System Oracle SQL

Uploaded by

Aditya Patade
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Hospital Database Management System SQL ORCLPDB.

sql 1/12

--1 details of nurse who is yet to be registered

select *from nurse


where registered ='f';

--2 Write a query in SQL to find the name of the nurse who are the head of t

select *from nurse


where position='Head Nurse';

--3 Write a query in SQL to obtain the name of the physicians who are the he

select p.name,d.name from physician p


inner join department d
on p.employeeid = d.head;

--4 Write a query in SQL to count the number of patients who taken appointme

select count(distinct(patient)) from appointment;

--5 Write a query in SQL to find the floor and block where the room number 2

select blockfloor,blockcode,roomnumber
from room
where roomnumber=212;

--6 Write a query in SQL to count the number available rooms

select count(unavailable)
from room
where unavailable='f';

--7 Write a query in SQL to count the number of unavailable rooms

1.1 / 12 2023.06.24 13:34:22


Hospital Database Management System SQL ORCLPDB.sql 2/12

(select count(unavailable)
from room
where unavailable='t')
select *from avlbl;

--8 Write a query in SQL to obtain the name of the physician and the departm

select employeeid,department,p.name as physician_name,d.name as department_na


from physician p
inner join affiliated_with aw
on p.employeeid = aw.physician
inner join department d
on aw.department = d.department_id
where primaryaffiliation='t';

--9 Write a query in SQL to obtain the name of the physicians who are traine

select employeeid,name
from physician
where employeeid in (select distinct physician
from trained_in);

--method 2 using join

select p.employeeid,p.name,pr.code,pr.name as name_of_procedure


from physician p
inner join trained_in ti
on p.employeeid=ti.physician
inner join procedure pr
on ti.treatment=pr.code;

--10 Write a query in SQL to obtain the name of the physicians with departme

select p.name,d.name from physician p


2.1 / 12 2023.06.24 13:34:22
Hospital Database Management System SQL ORCLPDB.sql 3/12

on p.employeeid = aw.physician
inner join department d
on aw.department = d.department_id
where primaryaffiliation='f';

--11 Write a query in SQL to obtain the name of the physicians who are not a

select name as not_specialized_physicians


from physician
where employeeid not in(select distinct physician
from trained_in);

--12 Write a query in SQL to obtain the name of the patients with their phys

select p.name as patient_name,ph.name as phy_who_did_pri_treatment


from patient p
inner join physician ph
on p.pcp = ph.employeeid;

--13 Write a query in SQL to find the name of the patients and the number of

select p.name as patient_name,count(distinct physician) as no_of_phy_tkn_apmn


from patient p
inner join appointment a
on p.ssn = a.patient
group by p.name;

--14 Write a query in SQL to count number of unique patients who got an appo

3.1 / 12 2023.06.24 13:34:22


Hospital Database Management System SQL ORCLPDB.sql 4/12

from appointment
group by examinationroom
having examinationroom='C';

--15 Write a query in SQL to find the name of the patients and the number of

select p.name as patient_name,s.room as roomnumber


from patient p
inner join stay s
on p.ssn = s.patient
inner join room r
on s.room = r.roomnumber;

--16 Write a query in SQL to find the name of the nurses and the room schedu

select n.employeeid as nurse_id,n.name as nurse_name,room as room_no


from nurse n
inner join undergoes u
on n.employeeid = u.assistingnurse
inner join stay s
on u.stay = s.stayid;

--17 Write a query in SQL to find the name of the patients who taken the app

select p.name as patient_name,


ph.name as physician_name,
n.name as nurse_name,
a.examinationroom
from patient p
left outer join appointment a
on p.ssn = a.patient
left outer join physician ph
on a.physician = ph.employeeid
4.1 / 12 2023.06.24 13:34:22
Hospital Database Management System SQL ORCLPDB.sql 5/12

on a.prepnurse = n.employeeid
where start_dt = '25-04-08';

--18 Write a query in SQL to find the name of patients and their physicians

select p.name as patient_name,ph.name as physician_name


from patient p
inner join undergoes u
on p.ssn = u.patient
inner join physician ph
on u.physician = ph.employeeid
where assistingnurse is null;

--19 Write a query in SQL to find the name of the patients, their treating p

select p.ssn,p.name as patient_name,ph.name as treating_phy_name,m.


from patient p
inner join undergoes u
on p.ssn = u.patient
inner join prescribes pr
on u.patient = pr.patient
innerjoin medication m
on pr.medication = m.code
inner join physician ph
on pr.physician = ph.employeeid;

--20 Write a query in SQL to find the name of the patients who taken an adva

select p.ssn,
p.name as patient_name,
5.1 / 12 2023.06.24 13:34:22
Hospital Database Management System SQL ORCLPDB.sql 6/12

m.name as medicine_name
from patient p
left outer join appointment a
on p.ssn = a.patient
left outer join prescribes pr
on a.patient = pr.patient
left outer join physician ph
on pr.physician = ph.employeeid
left outer join medication m
on pr.medication = m.code
;

--22 Write a query in SQL to count the number of available rooms in each blo

select blockcode as block_no,count(*) as no_of_available_rooms


from room
where unavailable='f'
group by blockcode;

--23 Write a query in SQL to count the number of available rooms in each flo

select blockfloor as floor_no,count(*) as no_of_available_rooms


from room
where unavailable='f'
group by blockfloor;

--24 Write a query in SQL to count the number of available rooms for each bl

6.1 / 12 2023.06.24 13:34:22


Hospital Database Management System SQL ORCLPDB.sql 7/12

from room
where unavailable='f'
group by blockcode,blockfloor
order by 1,2;

--25 Write a query in SQL to count the number of unavailable rooms for each

select blockcode,blockfloor,count(*) no_of_available_rooms_ineachblockineachf


from room
where unavailable='t'
group by blockcode,blockfloor
order by 1,2;

--26 Write a query in SQL to find out the floor where the maximum no of room

select blockfloor,count(unavailable) as available_room


from room
where unavailable='f'
group by blockfloor
order by count(unavailable) desc
fetch first row only;

--27 Write a query in SQL to find out the floor where the minimum no of room

select blockfloor,count(unavailable)
from room
where unavailable = 'f'
group by blockfloor
having count(unavailable)=(select min(count(unavailable))
from room
where unavailable ='f'
group by blockfloor)
order by blockfloor;

7.1 / 12 2023.06.24 13:34:22


Hospital Database Management System SQL ORCLPDB.sql 8/12

--28 Write a query in SQL to obtain the name of the patients, their block, f

select ssn as patient_id,


p.name as patient_name,
blockfloor,
blockfloor,
roomnumber
from patient p
inner join stay s
on p.ssn = s.patient
inner join room r
on s.room = r.roomnumber;

--29 Write a query in SQL to obtain the nurses and the block where they are

select employeeid as nurse_id,


name as nurse_name,
blockcode
from nurse n
left outer join on_call oc
on n.employeeid = oc.nurse;

--31 Write a SQL query to obtain the names of all the physicians performed a

select ph.name as physician_name,u.procedure


from physician ph
inner join undergoes u
on ph.employeeid = u.physician
left outer join trained_in ti
on u.physician = ti.physician
and u.procedure = ti.treatment
where treatment is null;
8.1 / 12 2023.06.24 13:34:22
Hospital Database Management System SQL ORCLPDB.sql 9/12

--32 Write a query in SQL to obtain the names of all the physicians, their

select p.name as patient_name,ph.name as physician_name,date_ as date_of_proc


pr.name as procedure_name,code as procedure_code
from physician ph
inner join undergoes u
on ph.employeeid = u.physician
left outer join trained_in ti
on u.physician = ti.physician
and u.procedure = ti.treatment
left outer join patient p
on u.patient = p.ssn
left outer join procedure pr
on u.procedure = pr.code
where treatment is null;

--33 Write a query in SQL to obtain the name and position of all physicians

select employeeid,name as physician_name,position


from physician
where employeeid in(select u.physician
from undergoes u
inner join trained_in ti
on u.physician = ti.physician
where date_ > certificationexpires);

--34 Write a query in SQL to obtain the name of all those physicians who com
--date of procedure, name of the patient on which the procedure had been app

select employeeid,
9.1 / 12 2023.06.24 13:34:22
Hospital Database Management System SQL ORCLPDB.sql 10/12

ph.position,
pr.name as procedure_name,
u.date_ as date_of_procedure,
p.name as patient_name,
ti.certificationexpires
from physician ph
left outer join undergoes u
on ph.employeeid = u.physician
left outer join patient p
on u.patient = p.ssn
left outer join trained_in ti
on u.procedure = ti.treatment
left outer join procedure pr
on ti.treatment = pr.code
where date_ > certificationexpires;

--35 Write a query in SQL to obtain the names of all the nurses who have eve

select employeeid,name as nurse_name


from nurse
where employeeid in(select oc.nurse from on_call oc
left outer join room r
on oc.blockkfloor = r.blockfloor
and oc.blockcode = r.blockcode
where roomnumber = 122);

--36 Write a query in SQL to Obtain the names of all patients who has been p
--out primary care and the name of that physician

select p.name as patient_name,


ph.name as physician_name
from patient p
left outer join prescribes pr
10.1 / 12 2023.06.24 13:34:22
Hospital Database Management System SQL ORCLPDB.sql 11/12

left outer join physician ph


on pr.physician = ph.employeeid
where pcp = pr.physician;

--37 Write a query in SQL to obtain the names of all patients who has been u
--physician who has carried out primary care

select p.ssn,ph.employeeid as physician_id,


p.name as patient_name,
ph.name as primary_care_physician
from patient p
inner join undergoes u
on p.ssn = u.patient
inner join procedure pr
on u.procedure = pr.code
inner join physician ph
on p.pcp = ph.employeeid
where cost > 5000;

--38 Write a query in SQL to Obtain the names of all patients who had at lea
--out primary care

select a.patient as patient_id,p.name as patient_name,ph.name as physician_na


from patient p
inner join appointment a
on p.ssn = a.patient
inner join nurse n
on a.prepnurse = n.employeeid
11.1 / 12 2023.06.24 13:34:22
Hospital Database Management System SQL ORCLPDB.sql 12/12

on p.pcp = ph.employeeid
where registered='t'
group by a.patient,p.name,ph.name
having count(start_dt) >=2;

--39 Write a query in SQL to Obtain the names of all patients whose primary
--department and name of that physician along with their primary care physic

select p.name as patient_name,


ph.name as primary_care_physician_name
from patient p
inner join physician ph
on p.pcp = ph.employeeid
where p.pcp not in(select head from department);

12.1 / 12 2023.06.24 13:34:22

You might also like