кодесурса
«SQL

Упражнения по SQL на базе данных больницы: составить отчет по заданным запросам

script1adsense2code
script1adsense3code

База данных больницы SQL: Упражнение-30 с решением

30. Напишите запрос на языке SQL, чтобы составить отчет, в котором будут отображаться: а) имя пациента, б) имя врача, который его лечит, в) имя медсестры, которая его посещает, г) какое лечение происходит с пациентом, е) дата освобождения, е) в какую комнату поступил пациент и к какому этажу и блоку принадлежит комната, соответственно.

Образец таблицы: проходит


Образец таблицы: пациент


Пример таблицы: врач


Пример таблицы: медсестра


Пример таблицы: остаться


Пример таблицы: комната


Пример решения:

SELECT p.name AS "Patient",
       y.name AS "Physician",
       n.name AS "Nurse",
       u.date AS "Date of release",
       r.roomnumber AS "Room",
       r.blockfloor AS "Floor",
       r.blockcode AS "Block"
FROM undergoes u
JOIN patient p ON u.patient=p.ssn
JOIN physician y ON u.physician=y.employeeid
LEFT JOIN nurse n ON u.assistingnurse=n.employeeid
JOIN stay s ON u.stay=s.stayid
JOIN room r ON s.room=r.roomnumber;

Пример вывода:

 Пациент | Врач | Медсестра | Дата выпуска | Комната | Этаж | блок
------------ + ------------------ + ----------------- + --------------------- + ------ + ------- + -------
 Джон Смит | Кристофер Терк | Карла Эспиноса | 2008-05-02 00:00:00 | 111 | 1 | 2
 Джон Смит | Джон Вен | Карла Эспиноса | 2008-05-03 00:00:00 | 111 | 1 | 2
 Деннис Доу | Кристофер Терк | Лаверн Робертс | 2008-05-07 00:00:00 | 112 | 1 | 2
 Деннис Доу | Тодд Куинлан | | 2008-05-09 00:00:00 | 112 | 1 | 2
 Джон Смит | Джон Вен | Карла Эспиноса | 2008-05-10 00:00:00 | 112 | 1 | 2
 Деннис Доу | Кристофер Терк | Пол Флауэрс | 2008-05-13 00:00:00 | 112 | 1 | 2
(6 рядов)

Практика онлайн


ER схема базы данных больницы:

«E

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите запрос в SQL, чтобы получить медсестер и блок, где они забронированы для обслуживания пациентов по вызову.
Далее: Напишите запрос SQL, чтобы получить имена всех врачей, которые выполняли медицинские процедуры, но они не сертифицированы для выполнения.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code