Файл: Лабораторная работа 12 по дисциплине Базы данных ст гр. Бпо2001 Ямбаева В. Э. Факультет it институт.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.05.2024
Просмотров: 22
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Федеральное государственное бюджетное образовательное учреждение высшего образования | |
Уфимский государственный нефтяной технический университет | |
Кафедра вычислительной техники и инженерной кибернетики | |
Лабораторная работа №12 по дисциплине «Базы данных» | |
| Выполнил: ст. гр. БПО-20-01 Ямбаева В.Э. Факультет: IT - институт Проверила: к.т.н, доцент Тулупова О.П. |
Уфа 2022 |
Оглавление
Задание 1. 3
1.1Текст команды для создания запроса: 3
1.2 Результат выполнения запроса: 3
1.3 Проверка выполненной части задания: 3
Задание 2. 4
2.1 Текст команды для создания запроса: 4
2.2 Результат выполнения: 4
2.3 Проверка выполненной 1-й части задания: 5
Задание 3. 5
3.1 Текст команды для создания запроса: 5
3.2 Результат выполнения: 5
2.3 Проверка выполненной 1-й части задания: 6
Задание 4. 7
4.1 Текст команды для создания таблицы: 7
4.2 Результат выполнения: 7
4.3 Проверка выполненной части задания: 8
Задание 1.
Напишите запрос с EXISTS, позволяющий вывести данные обо всех сотрудниках, все оценки за аттестацию, которых выше 3.
Выполнение задания:
-
Текст команды для создания запроса:
SELECT DISTINCT *
FROM Cooperator
WHERE EXISTS (SELECT *
FROM Evaluation
GROUP BY Cooperator_id
HAVING (min(Status)) > 3 AND Cooperator.Cooperator_id =Evaluation.Cooperator_id)
1.2 Результат выполнения запроса:
В результат успешного выполнения команды SELECT были выведен данные обо всех сотрудниках все оценки за аттестацию, которых равны 3.
Рис.1
1.3 Проверка выполненной части задания:
Для проверки заданного условия, нужно созданную таблицу заполнить данными.
Заполненная таблица (рис. 2).
При выполнении запроса SELECT были выведен данные обо всех сотрудниках все оценки за аттестацию, которых равны 3. (рис. 1). Следовательно, написанное условие для проверки вводимых значений, верно.
Рис. 2
Задание 2.
Напишите предыдущий запрос, используя соединения
2.1 Текст команды для создания запроса:
SELECT DISTINCT Cooperator.Cooperator_id
FROM Cooperator, Evaluation
GROUP BY Evaluation.Cooperator_id, Cooperator.Cooperator_id
HAVING (min(Evaluation.Status)) > 3 AND Cooperator.Cooperator_id =Evaluation.Cooperator_id
2.2 Результат выполнения:
В результат успешного выполнения команды SELECT были выведен данные обо всех сотрудниках все оценки за аттестацию, которых равны 3. (рис 3).
Рис. 3
2.3 Проверка выполненной 1-й части задания:
Для проверки заданного условия, нужно созданную таблицу заполнить данными.
Заполненные таблицы (рис. 2).
При выполнении запроса SELECT были выведен данные обо всех сотрудниках все оценки за аттестацию, которых равны 3 (рис. 3). Следовательно, написанное условие для проверки вводимых значений, верно.
Задание 3.
Напишите запрос с EXISTS, выбирающий сведения обо всех сотрудниках, которые работают в том же городе, где и живут.
3.1 Текст команды для создания запроса:
select *
from Cooperator A
where exists(select *
from Department B
WHERE B.Dept_id = A.Dept_id and B.Company_id in (select Company_id
from Company C
where A.City = C.City) )
3.2 Результат выполнения:
В результат успешного выполнения команды SELECT были выведены сведения обо всех сотрудниках, которые работают в том же городе, где и живут (рис 5).
Рис.5
2.3 Проверка выполненной 1-й части задания:
Для проверки заданного условия, нужно созданную таблицу заполнить данными.
Заполненная таблица (рис. 6).
При выполнении команды SELECT были выведены сведения обо всех сотрудниках, которые работают в том же городе, где и живут (рис.5). Следовательно, написанное условие для проверки вводимых значений, верно.
Рис. 6
Задание 4.
Напишите запрос, выбирающий из таблицы DEPARTMENT данные о названиях отделов, аттестации в которых пройдены более чем одним сотрудником.
4.1 Текст команды для создания таблицы:
select full_name
from Department A
where Dept_id in (select Dept_id
from Cooperator B
where B.Cooperator_id IN (select Cooperator_id
FROM Evaluation C
GROUP BY Cooperator_id
HAVING COUNT (Cooperator_id)>1)
)
4.2 Результат выполнения:
В результате успешного выполнения команды SELECT были выведены данные о названии отделов, аттестации в которых пройдены более чем одним сотрудником (рис. 7).
Рис. 7
4.3 Проверка выполненной части задания:
Для проверки заданного условия, нужно созданную таблицу заполнить данными.
Заполненная таблица (рис. 8).
При выполнении команды SELECT были выведены данные о названии отделов, аттестации в которых пройдены более чем одним сотрудником (рис. 7). Следовательно, написанное условие для проверки вводимых значений, верно.
Рис. 8