Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

практические / лаба 4

.docx
Скачиваний:
0
Добавлен:
06.10.2025
Размер:
2.36 Mб
Скачать

МИНОБРНАУКИ РОССИИ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

«ЛЭТИ» ИМ. В. И. УЛЬЯНОВА (ЛЕНИНА)

Кафедра ИС

ОТЧЕТ

по практической работе №4

по дисциплине «Инженерия знаний и базы данных»

Тема: «Сложные запросы»

Студентка гр. 2395 ____________ Кузьмичева Ю.И.

Преподаватель ____________ Назаренко Н.А.

Санкт-Петербург

2023

Цель работы: Получить базовые навыки при работе с несколькими таблицами.

Задачи:

  1. Выполнить SQL-запросы на выборку данных из двух или более таблиц (таблица 3 учебно-методического пособия).

  2. Выполнить SQL-запросы, используя агрегатные функции (таблица 4).

  3. Сделать выводы о проделанной работе.

Ход работы:

  1. Для создания запросов для объединения я буду использовать таблицы «Накладная» и «Накладная_Поставщик».

Рис.1 Заполненная таблица «Накладная»

Рис.2 Заполненная таблица «Накладная_Поставщик»

  1. Первый запрос – левое соединение: Рис.3

Результат: Рис.4

Выборка осуществляется по условию равенства номеров накладной в обеих таблицах, потому что ключи у них разные, и «Номер накладной» - единственный общий столбец.

  1. Выполним соединение справа: Рис.5

Результат: Рис.6

Изменилось лишь расположение таблиц и выборка проходит по таблице «Накладная».

  1. Получение данных, относящихся только к левой таблице:

Рис.7

Результат: Рис.8

  1. То же самое, но для правой таблицы: Рис.9

Результат: Рис.10

  1. Далее получим данные, относящихся как к левой, так и к правой таблице: Рис.11

Результат: Рис.12

В полученной таблице отсутствуют нулевые значения.

  1. Получение всех данных, относящихся к левой и правой таблицам, а также их внутреннему соединению: Рис.13

Результат: Рис.14

Здесь мы получили «полное» соединение.

  1. П олучение данных, не относящихся к левой и правой таблицам одновременно (обратное INNER JOIN):

Рис.15

Результат: Рис.16

  1. Выполним SQL-запросы, используя агрегатные функции.

  1. SUM(поле_таблицы) - возвращает сумму значений:

Рис.17

Я посчитала сколько всего товаров было поставлено за месяц в общей таблице без нулевых значений, то есть, исключая несовпадение в номере:

Р ис.18

  1. AVG(поле_таблицы) - возвращает среднее значение:

Рис.19

Среднее значение рассчитывалось также по полю «Количество», потому что в других полях это действие бессмысленно:

Р ис.20

  1. COUNT(поле_таблицы) - возвращает количество записей:

Рис.21

Результат:

Р ис.22

  1. MIN(поле_таблицы) - возвращает минимальное значение:

Рис.23

Р езультат:

Рис.24

  1. MAX(поле_таблицы) - возвращает максимальное значение

Р ис.25

Результат:

Рис.26

Вывод: В проделанной практической работе были изучены сложные запросы при работе с несколькими таблицами, а также виды их объединения. Выполнены запросы на выборку и используя агрегатные функции: SUM, AVG, COUNT, MIN, MAX. Предоставлены коды запросов и результаты их выполнения.

Соседние файлы в папке практические