logo
Проектування та створення бази даних реєстратури в поліклініці засобами MySQL

3.2 Створення запитів до бази даних

1. Запит на додавання поля до таблиці. Додамо до таблиці Pacijent поле krov, в якому будуть міститися значення про групу крові пацієнтів і отримаємо таблицю, що буде містити нове поле (Мал.5). Директива такого створення буде:

ALTER TABLE Pacijent ADD krov varchar(20) NULL

Мал.5. Додавання поля до таблиці

2.Додавання обмежень. Створюємо звязок між таблицями Likar і Prujom:

ALTER TABLE Likar ADD constraint fk1 foreign key (code) references Prujom (code)

Створюємо звязок між таблицями Pacijent і Prujom:

ALTER TABLE Pacijent ADD constraint fk2 foreign key (code Pacijent) references Prujom (code Pacijent)

3. Запит для вилучення записів з таблиці із застосуванням параметрів у критеріях запиту. Вилучимо дані про пацієнта код якого дорівнює 12 (Мал.6.). Директива:

DELETE FROM Pacijent WHERE codePacijent=12;

Мал.6. Вилучення записів із таблиці

На основі уже створеної таблиці Likar створюємо таблицю LikarNew(Мал.7.)

Мал. 7. Таблиця LikarNew

4. Обєднання таблиць. Обєднуємо таблиці Likar і LikarNew(Мал.8.). Запит для виконання обєднання:

Select * from Likar Union Select * from LikarNew

Мал.8. Обєднання таблиць

5.Виконуємо перетин двох таблиць(Мал.9.). Запит для виконання перетину:

Select *From Likar Where code in (select code from LikarNew);

Мал.9. Перетин двох таблиць

6.Запит для виконання різниці(Мал.10.):

Select code from Likar where code not in (select code from LikarNew);

Мал.10. Різниця таблиць

7. Запит для виконання декартового добутку(Мал.11.):

Select * from Likar, LikarNew;

Мал.11. Декартовий добуток

9.Запит для виконання проекції (Мал.12.):

Select name from Likar

Мал.12. Проекція таблиці Likar

10.Запит для виконання селекції (Мал.13.):

Select name From Likar Where code >6;

Мал.13. Селекція таблиці Likar

11.Запит для виконання натурального зєднання:

Select *From Likar, LikarNew Where Likar. code = LikarNew. code;

Результат даного зєднання показаний на мал.14.

Мал.14. Результат натурального зєднання

12. Запит для виконання умовного зєднання:

Select *From Likar, LikarNew Where Likar.code > LikarNew.code;

Результат даного зєднання показаний на мал.15.

Мал.15. Результат умовного зєднання

13.Запит на вибірку з використанням критерію(Мал.16.):

SELECT code,sername, name,spec FROM Likar where code>3

Мал.16. Вибірка з використанням критерію

14.Запит вибору записів зі зєднаних таблиць із застосуванням внутрішнього зєднання:

SELECT * FROM Likar S1 inner join Likarnew S2 on S1.code=S2.code

Результат даного зєднання показаний на мал.17.

Мал.17. Результат внутрішнього зєднання

15. Запит вибору записів із зєднаних таблиць із застосуванням лівого зовнішнього зєднання:

SELECT * FROM Likar S1 left join Likarnew S2 on S1.code=S2.code

Результат даного зєднання показаний на мал.18.

Мал.18. Результат лівого зовнішнього зєднання:

16. Запит вибору записів зі зєднаних таблиць із застосуванням правого зовнішнього зєднання:

SELECT * FROM Likar S1 right join Likarnew S2 on S1.code=S2.code

Результат даного зєднання показаний на мал.19.

Мал.19. Результат правого зовнішнього зєднання

17. Запит вибору записів зі зєднаних таблиць із застосуванням перехресного зєднання:

SELECT * FROM Likar cross join Likarnew

Результат даного зєднання показаний на мал.20.

Мал.20. Результат перехресного зєднання