Складні запити на вибірку і групування
Міністерство освіти і науки України
Тернопільський національний економічний університет
Факультет компютерних інформаційних технологій
Кафедра КІ
Лабораторна робота №3
з дисципліни
«Організація баз даних»
Виконав:
студент групи СКС-41
Пашко Василь
Перевірила:
викл. Гайда Л.П.
Тернопіль - 2015
Тема роботи: Складні запити на вибірку і групування. Побудова запитів на основі кількох таблиць.
Мета роботи: Набути практичних навиків використання різних типів обєднань та підзапитів.
Варіант: 11.
Порядок виконання роботи:
1. Для обраної предметної області навести приклади використання всіх описаних вище типів обєднань (внутрішнього, зовнішнього лівостороннього та зовнішнього правостороннього);
. Для обраної предметної області навести приклади використання EXIST, ANY, SOME, ALL;
. Для обраної предметної області навести приклади використання UNION та UNION ALL; обєднання запит підзапит таблиця
Хід виконання роботи
Для своєї предметної області наводжу приклади використання внутрішнього, зовнішнього лівостороннього та зовнішнього правостороннього типів обєднань:
·INNER JOIN
SELECT ` patient`.`p_name`, `doctor`.`d_name` FROM `patient`JOIN `doctor` ON `patient`.`id_doctor` = `doctor`.`id`
·LEFT JOIN` patient`.`p_name`, `doctor`.`d_name` FROM `patient`JOIN `doctor` ON `doctor`.`id` = `patient`.`id_doctor`
·RIGHT JOIN`patient`.`p_name`, `doctor`.`d_name` FROM `patient`JOIN `doctor` ON `doctor`.`id` = `patient`.`id_doctor`
Наводжу приклади використання приклади використання EXIST, ANY, SOME, ALL:
·EXIST`name` FROM `doctor`EXISTS(SELECT * FROM `doctor` WHERE `id_preparat` = '3')
·ANY`name` FROM `doctor``id_preparat` = ANY(SELECT `id` FROM `preparations`)
·SOME`name` FROM `doctor``id_preparat` = SOME (SELECT `id` FROM `preparations`)
·ALL` name ` FROM `doctor``id_preparat ` > ALL(SELECT `id` FROM `preparations``name` = 'analgin')
Наводжу приклади використання UNION та UNION ALL:
·UNION` name ` FROM ` doctor ` WHERE ` id_preparat ` = '2'SELECT `name` FROM ` preparations ` WHERE `id` = '2'
·UNION ALL` name `, `description` FROM ` doctor `ALL SELECT `name`, ` description ` FROM ` preparations `
Наводжу приклади використання підзапитів:
·IN` name `, ` description ` FROM ` preparations` `id` IN ('3')
·NOT IN` name `, ` description ` FROM ` preparations ` `id` NOT IN ('1')
Висновок
На даній лабораторній роботі я отримав та набув практичних навиків використання різних типів обєднань та підзапитів.