Отчет пр 14
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Кафедра безопасности информационных систем
ОТЧЁТ
по практической работе №14 на тему: «Создание запросов в SQL Developer»
по дисциплине «Управление данными»
Выполнил: студент группы ИСТ-114, Медведева С.Г
«__» ________ 2022 г. ___________/Медведева С.Г. /
Принял: Перевозник Ю.Я.
«__» ______ 2022 г. ___________/Ю.Я. Перевозник
Цель работы: научиться создавать запросы в Oracle SQL Developer – интегрированной среде разработки на языках SQL & PL/SQL
Задание 1:
NULL <> 1
NULL <> NULL
NULL = NULL
NULL IS NOT NULL
NULL IS NULL
Выберите верные утверждения: 4, 5
Написать запрос, выводящий список сотрудников организации, упорядоченный по ФИО.
SELECT *
FROM PERSONS
ORDER BY NAME ASC
Написать запрос, выводящий список сотрудников организации, упорядоченный по дате рождения. Чтобы сначала вывелись самые молодые сотрудники.
SELECT *
FROM persons
ORDER BY birthdate DESC
Вывести список филиалов.
SELECT f.filialname
FROM FILIAL f
Вывести список блюд столовой, цена которых больше 80 рублей.
SELECT DISHNAME, PRICE
FROM CANTEENDISHES
WHERE PRICE > ‘80’
Вывести список сотрудников, работающих в филиале 1 или 2.
SELECT *
FROM PERSONS
WHERE FILIAILID <= ’2’
Вывести список сотрудников, работающих в первом филиале, родившихся не ранее 01.01.1980.
SELECT NAME, FILIALID
FROM PERSONS
WHERE FILIALID = ‘1’ AND DATABIRTHDAY > ’01.01.1980’
Вывести список сотрудников, фамилия которых начинается на букву «И».
SELECT *
FROM PERSONS
WHERE NAME LIKE ‘И%’
Вывести список блюд столовой, цена которых в диапазоне от 70 до 100 рублей. Результат упорядочить по цене, по убыванию.
SELECT *
FROM CANTEENDISHES
WHERE PRICE BETWEEN ‘70’ AND ‘100’
ORDER BY PRICE DESC
Вывести список блюд столовой, которые готовятся в собственной столовой организации, а не закупаются. У таких строчек указан повар (в столбце CookID присутствует идентификатор повара). Результат отсортировать по наименованию блюда.
SELECT *
FROM CANTEENDISHES
WHERE COOKID IS NOT NULL
ORDER BY DISHNAME
Задание 2:
1. Вывести ФИО сотрудников и названия филиалов, в которых они работают.
SELECT PERSONS.NAME,
FILIAL.FILIALNAME
FROM PERSONS
LEFT JOIN FILIAL
ON FILIAL.FILIALID = PERSONS.DEPARTAMENTID
2. Написать запрос, выводящий сотрудников из московского филиала (тех, кто работает в Москве) и их автомобили. Если у сотрудника нет авто, то он тоже должен быть в отчете.
SELECT PERSONS.NAME,
FILIAL.FILIALNAME, personcars.carname
FROM PERSONS
LEFT JOIN FILIAL
ON FILIAL.FILIALID = PERSONS.DEPARTAMENTID
LEFT JOIN personcars
ON personcars.personid = PERSONS.personid
WHERE filial.filialname = 'Москва'
3. Вывести список блюд столовой с именами поваров, которые их готовят.
SELECT c.dishname, p.name
FROM canteendishes c
INNER JOIN persons p
ON p.personid = c.cookid
4. Вывести сотрудников, не имеющих ни одного авто. Результат упорядочить по ФИО сотрудника.
SELECT p.name
FROM persons p
LEFT JOIN personcars pc
ON p.personid = pc.personid
WHERE pc.personid IS NULL
ORDER BY p.name
ВЫВОД
Научилась создавать запросы в Oracle SQL Developer – интегрированной среде разработки на языках SQL & PL/SQL.
Санкт-Петербург
2022