практические / лаба 4
.docxМИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В. И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра ИС
ОТЧЕТ
по практической работе №4
по дисциплине «Инженерия знаний и базы данных»
Тема: «Сложные запросы»
Студентка гр. 2395 ____________ Кузьмичева Ю.И.
Преподаватель ____________ Назаренко Н.А.
Санкт-Петербург
2023
Цель работы: Получить базовые навыки при работе с несколькими таблицами.
Задачи:
Выполнить SQL-запросы на выборку данных из двух или более таблиц (таблица 3 учебно-методического пособия).
Выполнить SQL-запросы, используя агрегатные функции (таблица 4).
Сделать выводы о проделанной работе.
Ход работы:
Для создания запросов для объединения я буду использовать таблицы «Накладная» и «Накладная_Поставщик».
Рис.1 Заполненная таблица «Накладная»
Рис.2 Заполненная таблица «Накладная_Поставщик»
Первый запрос – левое соединение: Рис.3
Результат: Рис.4
Выборка осуществляется по условию равенства номеров накладной в обеих таблицах, потому что ключи у них разные, и «Номер накладной» - единственный общий столбец.
Выполним соединение справа: Рис.5
Результат: Рис.6
Изменилось лишь расположение таблиц и выборка проходит по таблице «Накладная».
Получение данных, относящихся только к левой таблице:
Рис.7
Результат: Рис.8
То же самое, но для правой таблицы: Рис.9
Результат: Рис.10
Далее получим данные, относящихся как к левой, так и к правой таблице: Рис.11
Результат: Рис.12
В полученной таблице отсутствуют нулевые значения.
Получение всех данных, относящихся к левой и правой таблицам, а также их внутреннему соединению: Рис.13
Результат: Рис.14
Здесь мы получили «полное» соединение.
П
олучение
данных, не относящихся к левой и правой
таблицам одновременно (обратное INNER
JOIN):
Рис.15
Результат: Рис.16
Выполним SQL-запросы, используя агрегатные функции.
SUM(поле_таблицы) - возвращает сумму значений:
Рис.17
Я посчитала сколько всего товаров было поставлено за месяц в общей таблице без нулевых значений, то есть, исключая несовпадение в номере:
Р
ис.18
AVG(поле_таблицы) - возвращает среднее значение:
Рис.19
Среднее значение рассчитывалось также по полю «Количество», потому что в других полях это действие бессмысленно:
Р
ис.20
COUNT(поле_таблицы) - возвращает количество записей:
Рис.21
Результат:
Р
ис.22
MIN(поле_таблицы) - возвращает минимальное значение:
Рис.23
Р
езультат:
Рис.24
MAX(поле_таблицы) - возвращает максимальное значение
Р
ис.25
Результат:
Рис.26
Вывод: В проделанной практической работе были изучены сложные запросы при работе с несколькими таблицами, а также виды их объединения. Выполнены запросы на выборку и используя агрегатные функции: SUM, AVG, COUNT, MIN, MAX. Предоставлены коды запросов и результаты их выполнения.
